什么是[1] => 0表示这个数组?

时间:2012-03-12 14:15:38

标签: php arrays

我知道这一定是一个相当简单的问题,但我还没有成功找到答案。

我有以下数组

$qid[0][0]=1;
$qid[1][0]=2;
$qid[2][0]=3;
$qid[3][0]=4;

当我使用print_r($ qid)时,我得到以下内容

Array ( 
 [0] => Array ( [0] => 1 [1] => 0 ) 
 [1] => Array ( [0] => 2 ) 
 [2] => Array ( [0] => 3 ) 
 [3] => Array ( [0] => 4 )
) 

我不明白 [1] => 0

in

[0] => Array ( [0] => 1 [1] => 0 )

如果有人能解释 [1] => 0 表示在这个数组中,我非常感激。感谢。

编辑:事实证明我的数组确实与我上面写的不同,因为它后来在代码中进行了修改。谢谢大家的好消息。我仍在阅读所有这些并试图让我的思想理解它们(Arrays把我的想法变成了jello)。

7 个答案:

答案 0 :(得分:4)

[1] => 0表示值为0的数组元素。

[]中的数字是数组键。所以[1]是数字索引数组的第二个元素(以[0]开头),第二个元素([1])的值是0

PHP使用=>作为运算符将数组键/索引与其值相关联。

所以这个结构的整体解释:

Array ( 
 [0] => Array ( [0] => 1 [1] => 0 ) 
 [1] => Array ( [0] => 2 ) 
 [2] => Array ( [0] => 3 ) 
 [3] => Array ( [0] => 4 )
) 

外部数组是数字索引数组,其每个元素都是子数组。第一个([0])是一个包含2个元素的数组,而其余的([1] through [3])是只包含一个元素的数组。

答案 1 :(得分:3)

这个二维数组实际上是一维数组的数组,这就是你得到嵌套的原因。 [x] => y位只表示数组的索引x的值为y

现在,在这种情况下,您的输出实际上与您的代码不匹配,因为

$qid[0][0]=1;
$qid[1][0]=2;
$qid[2][0]=3;
$qid[3][0]=4;
print_r($qid);

产生

Array (
    [0] => Array ( [0] => 1 )
    [1] => Array ( [0] => 2 )
    [2] => Array ( [0] => 3 )
    [3] => Array ( [0] => 4 )
) 

如果你想得到:

Array ( 
    [0] => Array ( [0] => 1 [1] => 0 ) 
    [1] => Array ( [0] => 2 ) 
    [2] => Array ( [0] => 3 ) 
    [3] => Array ( [0] => 4 )
)

(第一个数组有两个元素),你实际上需要:

$qid[0][0]=1;
$qid[0][1]=0;

$qid[1][0]=2;

$qid[2][0]=3;

$qid[3][0]=4;

print_r($qid);

答案 2 :(得分:2)

您可能在某处向$ qid [0]添加了第二项($ qid [0] [1] = 0)。这段代码

$qid[0][0]=1;
$qid[1][0]=2;
$qid[2][0]=3;
$qid[3][0]=4;

为我输出正确的值(没有[1] => 0:

Array ( [0] => Array ( [0] => 1 ) [1] => Array ( [0] => 2 ) [2] => Array ( [0] => 3 ) [3] => Array ( [0] => 4 ) ) 

答案 3 :(得分:1)

这意味着原始数组中的索引0包含另一个包含2个项目的数组 具体来说,[1] => 0表示“子”数组的第2项包含数字0。

答案 4 :(得分:1)

[1] => 0

以这种简单的方式我们可以说1是你的数组键,0是1键的值 0存储在数组的1键

感谢

答案 5 :(得分:1)

简单地说,你有一个数字索引的多维数组。 http://php.net/manual/en/language.types.array.php应该包含您需要阅读的所有信息。

至于为什么您拥有[1] => 0,您需要更深入地查看代码以了解它的分配位置。

答案 6 :(得分:1)

使用print_r打印出数组后得到以下结果:

Array
(
    [0] => Array
    (
        [0] => 1
    )

    [1] => Array
    (
        [0] => 2
    )

    [2] => Array
    (
        [0] => 3
    )

    [3] => Array
    (
        [0] => 4
    )

)

我想,您可能已在代码中的某处设置了$ gid [0] [1]的值。