繁体   English   中英

如何从二维数组中获取值

[英]how to get value from two dimensional array

这段代码有什么问题?

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

上述 echo 命令的结果如下:

> <

我的期望是 '> 3 <' 会被显示。

在这种情况下,如何正确访问二维数组的值?

谢谢

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

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

尝试这个,

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

输出 :

3
3

演示

第 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 < 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM