如何访问另一个数组中的数组元素

时间:2016-08-11 16:20:10

标签: php arrays multidimensional-array

我有以下包含数组的数组:

Array
(
[title] => SwB Skipper
[today] => 08/11/2016
[crew_name] => Array
    (
        [0] => Array
            (
                [name] => Bob S
            )

        [1] => Array
            (
                [name] => Janet 
            )

        [2] => Array
            (
                [name] => Perry S
            )

        [3] => Array
            (
                [name] => Vinay N
            )

        [4] => Array
            (
                [name] => Pace W
            )

该数组名为$values;

我做了:

extract($values);

然后尝试使用

访问$crew_name['name']元素
<?php foreach ($crew_name['name'] as $crew): ?>

          <option value = "<?php echo $crew['name']; ?>" > 
          <?php echo $crew['name']; ?> </option>

<?php endforeach ?> 

3 个答案:

答案 0 :(得分:3)

您尚未准备好['name']顶级的$crew_name密钥。 $crew_name只有数字键,所以你只需要

<?php foreach ($crew_name as $crew): ?>

其余部分应该没问题。

答案 1 :(得分:1)

假设$ values是主阵列试试这个:

foreach($values as $val){
    foreach($val["crew_name"] as $crew){
        echo $crew["name"];
    }
}

答案 2 :(得分:1)

您可以简单地使用aray_column()功能,并使您的多阵列成为紧凑的单一维度。这会让事情变得更简单。

试试这个:

<select>
  <?php
      $options = array_column($values["crew_name"], "name");
      foreach($options as $option) {    
   ?>
    <option value = "<?php echo $option; ?>" > 
      <?php echo $option; ?> 
    </option>
   <?php } ?>
</select>