这个PHP for循环仅限于两次迭代,但有三个数组?

这个PHP for循环仅限于两次迭代,但有三个数组?,php,arrays,Php,Arrays,这就是我希望实现的模式: 0=>6=>“未选中” 其中0为增量,6为任意值,“未检查”为任意值 我可以理解为什么有三个,输出的数组集,有三个$arrray(),由$array(3)显示,但我不理解的是for循环将循环限制为两次运行。从0到1,为什么有三个而不是两个?我看到两个“未检查”。第一个怎么了 我对多维数组掌握得不太好 所以我有这个: <?php // $array = [][]; this is not correct $array = [[]]; // original to

这就是我希望实现的模式:

0=>6=>“未选中”

其中0为增量,6为任意值,“未检查”为任意值

我可以理解为什么有三个,输出的数组集,有三个$arrray(),由$array(3)显示,但我不理解的是for循环将循环限制为两次运行。从0到1,为什么有三个而不是两个?我看到两个“未检查”。第一个怎么了

我对多维数组掌握得不太好

所以我有这个:

<?php

// $array = [][]; this is not correct
$array = [[]]; // original to get output below
$b = 0;

for($i = 0; $i < 2; $i++) {
  $array[][$i] = "not checked";
}

var_dump($array);

?>
当前工作代码

<?php

for($i = 0; $i < 2; $i++) {
  $array[][$i] = "not checked";
}

var_dump($array);

?>

PHP最美妙的部分是数组和字符串操作。如果你真的想,你可以从
$a=array()开始但您可以执行以下操作:

<?php
    $a[0][6] = "not checked";
    var_dump($a);
?>


我想你正在尝试绘制一个更大的模式。但是如果你想让第一个增加,那么就把
$i
放在第一维。但正如其他人指出的,你们的声明并不完全正确。
array()
函数初始化数组,而不是
[]]

$array=[]->错误,让我猜它是
$array[]=[];问题发现这还会在数组中创建第一个元素,该元素显然为空:
$array=[]@Rizier123确实,你是对的。那么这可能不是OP使用的确切代码。当然,因为您实际上是使用该命令创建该元素的。如果确实需要初始化该变量,只需使用它:
$array=[]$array=[]那么你会得到一个错误,代码根本不会创建任何数组,你根本不会得到任何输出。谢谢,他们回答了上面的问题,但我也会将此标记为答案,因为它完成了我的要求。是的,我正试图用它来描绘更伟大的东西。
array(2) { 
  [0]=> array(1) {
    [0]=> string(11) "not checked" 
  } 
  [1]=> array(1) { 
    [1]=> string(11) "not checked" 
  } 
} 
<?php
    $a[0][6] = "not checked";
    var_dump($a);
?>