如何从二维数组中获取值

时间:2016-09-26 07:02:57

标签: php arrays

这段代码出了什么问题?

<?php
$myarray=array_fill ( 0 , 2 , array_fill (0,1,3) );
echo "> ".$myarray[0][1]." < <br>";
?>

上述echo命令的结果如下:

> <

我的期望是&#39;&gt; 3&lt;&#39;会显示。

如何正确访问二维数组的值,如本例所示pls?

由于

3 个答案:

答案 0 :(得分:1)

您的代码确实创建了一个二维数组,但这是实际数据:

array(2) {
  [0] =>
  array(1) {
    [0] =>
    int(3)
  }
  [1] =>
  array(1) {
    [0] =>
    int(3)
  }
}

所以$myarray[0][1]不存在。

array_fill()的外部调用创建了一个包含两个元素的数值数组,内部数组包含一个元素,值为3。两个密钥集都以0开头。这就是为什么在内部数组中获取键1,而只有0作为唯一键。

请阅读有关记录的函数参数的说明:http://php.net/manual/en/function.array-fill.php

答案 1 :(得分:0)

试试这个,

foreach($myarray as $val_array)
{
    foreach($val_array as $val)     
    {
        echo  $val."<br>";
    }
}

输出:

3
3

<强> DEMO

答案 2 :(得分:0)

第0个索引$ myarray [0] [1]

中没有1个索引
<?php

$myarray=array_fill ( 0 , 2 , array_fill (0,1,3) );

echo "<pre>";

print_r($myarray);

echo "</pre>";


 echo "> ".$myarray[0][0]." < <br>";
 ?>

输出:

Array
(
[0] => Array
    (
        [0] => 3
    )

[1] => Array
    (
        [0] => 3
    )

  )

   > 3 <