Php 索引数内的数组
我试着测试一个新东西,刚刚看到一个不寻常的输出,我无法得到循环中到底发生了什么,有人能解释一下,如果我们取一个数组,并将该数组分配给一个变量,我们运行for循环,我们为forloop提供了$array和$array的索引,类似于$array[$I]]所以我的意思是,我很困惑,无法完全解释,但是你能回顾一下代码,让我知道到底发生了什么吗Php 索引数内的数组,php,arrays,Php,Arrays,我试着测试一个新东西,刚刚看到一个不寻常的输出,我无法得到循环中到底发生了什么,有人能解释一下,如果我们取一个数组,并将该数组分配给一个变量,我们运行for循环,我们为forloop提供了$array和$array的索引,类似于$array[$I]]所以我的意思是,我很困惑,无法完全解释,但是你能回顾一下代码,让我知道到底发生了什么吗 $array = array(1, 2, 3, 5, 8, 13, 21, 34, 55); $sum = 0; for($i = 0; $i < 5;
$array = array(1, 2, 3, 5, 8, 13, 21, 34, 55);
$sum = 0;
for($i = 0; $i < 5; $i++) {
$sum += $array[$array[$i]];
}
echo $sum ;
$array=array(1,2,3,5,8,13,21,34,55);
$sum=0;
对于($i=0;$i<5;$i++){
$sum+=$array[$array[$i]];
}
echo$sum;
输出78,因为它添加了值,但是如果我删除$sum+=并这样写
echo $array[$array[$i]] . "<br />";
echo$array[$array[$i]]。“
”;
现在我将得到这样的输出
二,
3.
5.
13
五十五
对于
$I=0
- 什么是
->$array[$i]
->$array[0]
1
- 什么是
->$array[$array[$i]]
->$array[1]
2
您正在使用数组的值访问密钥
$array = array(1, 2, 3, 5, 8, 13, 21, 34, 55);
$sum = 0;
for($i = 0; $i < 5; $i++) {
$sum += $array[$array[$i]] . "<br />";
}
echo $sum ;
循环2:
$i = 1;
$sum += $array[$array[1]];
$sum += $array[2];
$sum += 3;
循环3:
$i = 2;
$sum += $array[$array[2]];
$sum += $array[3];
$sum += 5;
循环4:
$i = 3;
$sum += $array[$array[3]];
$sum += $array[5];
$sum += 13;
循环5:
$i = 4;
$sum += $array[$array[4]];
$sum += $array[8];
$sum += 55;
所以
当$i=0时,$array[$array[$i]]变为$array[$array[0]],这是$array[1],因为$array[0]=1。因此$array[1]的计算结果为2 保持同样的想法 例如,对于$i=4,由于$array[4]=8,因此$array[$i]]变为$array[$array[4]],即$array[8]。因此,$array[8]的计算结果为55
一步一步思考。为什么是
$array[$i]
?为什么要将“
”
添加到整数中?brother只是通过回显值echo$array[$array[$i]]进行检查。“”;把问题放在这里,我忘了删除好的,明白了,真的很困惑,让我一步一步地看一看好的,我现在明白了,它会为索引号添加值,明白了,谢谢
$array[3] = 5
$array[$i] = $array[3] = 5
$array[5] = 13
$array[$i] = $array[4] = 8
$array[8] = 55
$array = array(1, 2, 3, 5, 8, 13, 21, 34, 55);
$sum = 0;
for($i = 0; $i < 5; $i++) {
$sum += $array[$array[$i]] . "<br />";
}
echo $sum ;
$i = 0;
$sum += $array[$array[0]];
$sum += $array[1];
$sum += 2;
$i = 1;
$sum += $array[$array[1]];
$sum += $array[2];
$sum += 3;
$i = 2;
$sum += $array[$array[2]];
$sum += $array[3];
$sum += 5;
$i = 3;
$sum += $array[$array[3]];
$sum += $array[5];
$sum += 13;
$i = 4;
$sum += $array[$array[4]];
$sum += $array[8];
$sum += 55;
$sum = 2 + 3 + 5 + 13 + 55 = 80