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;