繁体   English   中英

增量数组中的零从1开始

[英]Zero in increment array started at 1

这是我的代码,用于拥有一个数组:

$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,为什么呢?

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

我看到上面有$ zi ='1',这与创建一个基于数组的数组类似,但它是关联的,您将不能简单地使用+ +运算符。 我相信,即使您使用的字符串是数字,PHP仍将转换为数字索引数组。 我建议不要尝试实现基于一个的数组,这是疯狂的。

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

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

正如我的评论所证明的是正确的:问题在于,在进入显示的代码块之前, $options_array的属性已经为0 您可以使用$options_array = []$options_array = array() (适用于较早的php版本)从一个全新的数组开始。 您也可以使用unset($options_array[0])删除属性0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM