<?php
/*
  * 我们想要在遍历的过程中改变以下数组中某些元素的值
  */
$people = Array(
         Array('name' => 'Kalle', 'salt' => 856412), 
         Array('name' => 'Pierre', 'salt' => 215863)
         );

 for($i = 0; $i < sizeof($people); ++$i)
 {
     $people[$i]['salt'] = rand(000000, 999999);
 }
?>

以上代码的问题,在于for的第二个表达式会导致代码执行很慢--因为每次循环时都要 计算一遍数组的长度。由于数组的长度始终不变,我们可以用一个中间变量来存储数组长度, 然后用这个变量作为for循环的第二个表达式。这样在循环的时候就可以直接使用该变量的值, 不用每次重新计算。 如下:

<?php
 $people = Array(
         Array('name' => 'Kalle', 'salt' => 856412), 
         Array('name' => 'Pierre', 'salt' => 215863)
         );

 for($i = 0, $size = sizeof($people); $i < $size; ++$i)
 {
     $people[$i]['salt'] = rand(000000, 999999);
 }
?>