增量数组中的零开始于1

时间:2014-01-24 02:28:23

标签: php

这是我的代码,它有一个数组:

$zi = '1';
for ($zi = 1; $zi <= $v['Store']['stock']; $zi++) {
              $options_array[$zi]= $zi;
}




    var_dump($options_array);
    Array
(
    [0] => 0
    [1] => 1
    [2] => 2
)

为什么我的结果为零? 我把$ zi放在1,为什么呢?

3 个答案:

答案 0 :(得分:0)

在php中有两种数组,数字索引数组和关联数组。您的输出似乎有点怀疑,但我可以告诉您,如果PHP数组的所有键都是数字,那么该数组将基于零。

我看到你上面的$ zi ='1'是怎样的,这与你创建一个基于数组的数组的方式一致,但它是关联的,你将无法简单地使用++运算符。我相信即使你使用一个数字的字符串,PHP仍将转换为数字索引数组。我建议不要试图实现一个基于数组的阵列,这是疯狂的。

希望此页面有助http://us2.php.net/manual/en/language.types.array.php

答案 1 :(得分:0)

您开始在索引1处设置$options_array,因此索引0是基础类型的默认值。在这种情况下,它是一个整数,因此默认值为0.

答案 2 :(得分:0)

由于我的评论结果是正确的:问题是,在您到达所提供的代码块之前,您已在0中拥有了一个属性$options_array。您可以使用$options_array = []$options_array = array()(对于较旧的php版本)从新数组开始。您也可以使用0删除属性unset($options_array[0])