[英]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.