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