Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 增量数组中的0从1开始_Php - Fatal编程技术网

Php 增量数组中的0从1开始

Php 增量数组中的0从1开始,php,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'; 对于($zi=1;$zi 0) [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';
对于($zi=1;$zi 0)
[1] => 1
[2] => 2
)
为什么我的结果是零?
我把$zi放在1,为什么呢?

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

我看到了上面的$zi='1',这与创建一个基于一的数组需要做的事情是一致的,但是它是关联的,并且不能简单地使用++操作符。我相信,即使您使用的字符串是数字,PHP仍将转换为数字索引数组。我建议不要尝试实现一个基于一个的数组,这太疯狂了


希望本页能帮助您开始在索引1处设置
$options\u array
,因此索引0是基础类型的默认值。在本例中,它是一个整数,因此默认值为0。

正如我的评论所证明的那样:问题是,在到达显示的代码块之前,
$options\u数组中已经有一个属性
0
。您可以使用
$options\u array=[]
$options\u array=array()
(对于较旧的php版本)从新数组开始。您也可以使用
unset($options\u array[0])
删除属性
0
,$options\u array在此之前是否已经有任何内容<代码>$options_数组=[]在这个代码块的开头,当你开始时应该确保它是空的。当我从1到5运行循环时,我得到'array(5){[1]=>int(1)[2]=>int(2)[3]=>int(3)[4]=>int(4)[5]=>int(5)}'。为什么你要设置$zi 2次,首先是将它设置为字符串1,然后是数字1,您只需要for循环构造函数中的一个。将
$options\u array=array()
放在顶部!问题解决了