无法理解php中的数组

时间:2015-11-01 20:24:30

标签: php arrays

有人能解释一下这个剧本吗? 我不明白什么是" $ 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;
?>

2 个答案:

答案 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,所以44+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