php foreach 循环遍历数组方法

foreach 语句用于循环遍历数组.每进行一次循环,当前数组元素的值就会被赋值给 value 变量(数组指针会逐一地移动) - 以此类推,语法如下:

  1. foreach (array as value)
  2. {
  3. code to be executed;
  4. }

下面的例子示范了一个循环,这个循环可以输出给定数组的值:

  1. <html>
  2. <body>
  3. <?php
  4. $arr=array("one", "two", "three");
  5. foreach ($arr as $value)
  6. {
  7. echo "value: " . $value . "<br />";
  8. }
  9. ?>
  10. </body>
  11. </html>

下面详细看一下详细说明:

  1. foreach ($array as &$row) {
  2. $row = explode('/', $row);
  3. }
  4. foreach ($array as $row) {
  5. //do something
  6. }

这么写,在第二个循环会出逻辑错误,加入第二个循环中do something的地方是输出$row,循环到最后一个的时候的输出是倒数第二个元素,而不是最后一个,要这么写:

  1. foreach ($array as &$row) {
  2. $row = explode('/', $row);
  3. }
  4. unset($row);
  5. foreach ($array as $row) {
  6. //do something
  7. }

或者第一个循环这么写,代码如下:

  1. foreach ($array as $key => $row) {
  2. $array[$key] = explode('/', $row);
  3. }