Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从二维数组中获取值_Php_Arrays - Fatal编程技术网

Php 如何从二维数组中获取值

Php 如何从二维数组中获取值,php,arrays,Php,Arrays,这段代码有什么问题 <?php $myarray=array_fill ( 0 , 2 , array_fill (0,1,3) ); echo "> ".$myarray[0][1]." < <br>"; ?> <?php $myarray=array_fill ( 0 , 2 , array_fill (0,1,3) ); echo "<pre>"; print_r($myarray); echo "</pre>";

这段代码有什么问题

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

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

echo "<pre>";

print_r($myarray);

echo "</pre>";


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

上述echo命令的结果如下:

> <
><

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

array(2) {
  [0] =>
  array(1) {
    [0] =>
    int(3)
  }
  [1] =>
  array(1) {
    [0] =>
    int(3)
  }
}
因此,
$myarray[0][1]
不存在

array\u fill()
的外部调用创建一个包含两个元素的数字数组,内部调用一个包含一个元素和值的数组
3
。两个密钥集都以
0
开头。这就是为什么在内部数组中没有键
1
,而只有
0
作为其中的唯一键

请阅读文档中关于函数参数的说明:

试试这个

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

第0个索引$myarray[0][1]中没有1个索引


输出:

数组
(
[0]=>阵列
(
[0] => 3
)
[1] =>阵列
(
[0] => 3
)
)
> 3 < 

没有$myarray[0][1]请尝试此回显“>”$myarray[0][0]。“<
”;谢谢你的回答。现在我知道了。。。不仔细阅读手册是我的错-我认为array_fill函数中的第二个参数代表“end index”,而它代表数组中元素的数量。
<?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 <