Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.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 数组中的两种方式有什么不同?_Php_Arrays - Fatal编程技术网

Php 数组中的两种方式有什么不同?

Php 数组中的两种方式有什么不同?,php,arrays,Php,Arrays,因为我看到了相同的结果,所以第一种方法和第二种方法有什么不同吗?请澄清您到底在寻找什么 这两种方法完全不同,当数组值是其他值时,它们会给出不同的结果 <?php //I have an array like this $ar = array('0', '1', '2', '3', '4', '5'); for($i = 0; $i < count($ar); $i++) { echo $ar[$i+1]; //way1 echo $ar[$i] +=1 //way2 } ?>

因为我看到了相同的结果,所以第一种方法和第二种方法有什么不同吗?

请澄清您到底在寻找什么

这两种方法完全不同,当数组值是其他值时,它们会给出不同的结果

<?php
//I have an array like this
$ar = array('0', '1', '2', '3', '4', '5');

for($i = 0; $i < count($ar); $i++)
{
echo $ar[$i+1]; //way1
echo $ar[$i] +=1 //way2
}

?>
如果您有一个数组$ar=array(3、6、2、10),则这两个数组的工作方式如下:

echo $ar[$i+1];  // Means you're printing the values corresponding to array keys 1, 2, 3.....

echo $ar[$i] +=1 // Means you're getting the values of keys 0, 1, 2... and adding 1 to each of the values.
希望这有帮助


和平!xD

请澄清您在这里到底想要什么

这两种方法完全不同,当数组值是其他值时,它们会给出不同的结果

<?php
//I have an array like this
$ar = array('0', '1', '2', '3', '4', '5');

for($i = 0; $i < count($ar); $i++)
{
echo $ar[$i+1]; //way1
echo $ar[$i] +=1 //way2
}

?>
如果您有一个数组$ar=array(3、6、2、10),则这两个数组的工作方式如下:

echo $ar[$i+1];  // Means you're printing the values corresponding to array keys 1, 2, 3.....

echo $ar[$i] +=1 // Means you're getting the values of keys 0, 1, 2... and adding 1 to each of the values.
希望这有帮助

和平!当然不是

注意,您的代码需要
“;”
way2之后

way1
回显数组中的第
(i+1)
-项

way2
回显
i-th
项目值
+1

因此,如果更改数组,结果可能会不同

e、 g

那么

方式1将输出:

$ar = array('1','3','4');
3,4
并捕获
超出范围异常
(因为它请求的
$ar[3]
,该异常不存在。)

way2将输出:

$ar = array('1','3','4');
当然不是

注意,您的代码需要
“;”
way2之后

way1
回显数组中的第
(i+1)
-项

way2
回显
i-th
项目值
+1

因此,如果更改数组,结果可能会不同

e、 g

那么

方式1将输出:

$ar = array('1','3','4');
3,4
并捕获
超出范围异常
(因为它请求的
$ar[3]
,该异常不存在。)

way2将输出:

$ar = array('1','3','4');

这里的区别是使用赋值运算符和增量运算符

第一种方式:

$ar[$i+1]将在
$i+1
的索引处打印数组元素,这意味着循环的第一次迭代中为1

2,4,5
它将寻找索引1的值,即1

注意:循环时,当循环到达最后一次迭代时,您的语句将如下所示:

echo $ar[$i + 1];
     $ar[0 + 1];
     $ar[1];  
echo $ar[$i + 1];
     $ar[5 + 1];
     $ar[6];
它将显示未定义索引的通知,因为数组中没有为索引6赋值

第二种方式:

这里使用增量运算符。因此,声明将变成这样:

echo $ar[$i + 1];
     $ar[0 + 1];
     $ar[1];  
echo $ar[$i + 1];
     $ar[5 + 1];
     $ar[6];
因此,首先,1将被添加到$ar[$],然后分配给它。之后,它将回显更新后的值。在循环的第一次迭代中,它将是:

echo $ar[$i] = $ar[$i] + 1;

这里的区别是使用赋值运算符和增量运算符

第一种方式:

$ar[$i+1]将在
$i+1
的索引处打印数组元素,这意味着循环的第一次迭代中为1

2,4,5
它将寻找索引1的值,即1

注意:循环时,当循环到达最后一次迭代时,您的语句将如下所示:

echo $ar[$i + 1];
     $ar[0 + 1];
     $ar[1];  
echo $ar[$i + 1];
     $ar[5 + 1];
     $ar[6];
它将显示未定义索引的通知,因为数组中没有为索引6赋值

第二种方式:

这里使用增量运算符。因此,声明将变成这样:

echo $ar[$i + 1];
     $ar[0 + 1];
     $ar[1];  
echo $ar[$i + 1];
     $ar[5 + 1];
     $ar[6];
因此,首先,1将被添加到$ar[$],然后分配给它。之后,它将回显更新后的值。在循环的第一次迭代中,它将是:

echo $ar[$i] = $ar[$i] + 1;