这是我希望实现的模式:
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);
?>
哪个输出:
array(3) {
[0]=> array(0) {
// blank
}
[1]=> array(1) {
[0]=> string(11) "not checked"
}
[2]=> array(1) {
[1]=> string(11) "not checked"
}
}
当前工作代码
<?php
for($i = 0; $i < 2; $i++) {
$array[][$i] = "not checked";
}
var_dump($array);
?>
输出:
array(2) {
[0]=> array(1) {
[0]=> string(11) "not checked"
}
[1]=> array(1) {
[1]=> string(11) "not checked"
}
}
答案 0 :(得分:1)
PHP的优点是数组和字符串操作。如果你真的想要,你可以从$a = array();
开始,但你可以这样做:
<?php
$a[0][6] = "not checked";
var_dump($a);
?>
我认为你想要映射的模式更多。但是如果你想让第一个增加,那么只需将$i
放在第一维中。但正如其他人指出你的宣言并不完全正确。 array()
函数初始化数组,而不是[][]
;