有人能解释一下这个剧本吗? 我不明白什么是" $ myarray [$ myarray [i]]" ?
<?php
$myarray = array (1, 2, 3, 5, 8, 15, 42, 23, 53);
$sum = 2;
for ($i = 0; $i < 5; $i++) {
$sum += $myarray[$myarray[$i]];
}
echo $sum;
?>
答案 0 :(得分:2)
database
我假设您知道循环是如何工作的。
因此,当循环开始<?php
$myarray = array (1, 2, 3, 5, 8, 15, 42, 23, 53);
$sum = 2;
for ($i = 0; $i < 5; $i++) {
$sum += $myarray[$myarray[$i]];
}
echo $sum;
?>
然后
$i = 0
$myarray[$myarray[$i]] => $myarray[$myarray[0]] //$myarray[0] = 1
So
$sum += $myarray[1] //here $myarray[1] = 2 (second index of array)
$sum += 2; => this statement is equivalent to $sum = $sum + 2;
so, $sum = 4 when first iteration of loop completes.
$i = 1
由于上次$myarray[$myarray[1]] => $myarray[$myarray[2]] (3rd index is 3)
$sum += $myarray[3]
为$sum
,所以4
,4+3 = 7
现在为$sum
,依此类推......
检查此 DEMO ,这将清除所有人。
干杯!
答案 1 :(得分:0)
您将从索引中获取值。
for ($i = 0; $i < 5; $i++) {
$sum += $myarray[$myarray[$i]];
}
会这样做:
($myarray[0] = 1) $myarray[1] => $sum+2
($myarray[1] = 2) $myarray[2] => $sum+3
($myarray[2] = 3) $myarray[3] => $sum+5
($myarray[3] = 5) $myarray[5] => $sum+15
($myarray[4] = 8) $myarray[8] => $sum+53