โครงสร้าง foreach

โครงสร้าง foreach ช่วยให้สามารถวนลูปผ่านสมาชิกของอาร์เรย์ได้ตามลำดับ มันทำงานกับอาร์เรย์และออบเจ็กต์ที่ใช้อินเทอร์เฟซ Traversable มีรูปแบบไวยากรณ์สองแบบ: สำหรับวนลูปเพียงค่าเท่านั้น และสำหรับวนลูปทั้งคีย์และค่า

ไวยากรณ์

phpforeach (array as $value) {
  // เนื้อหาของลูป
}
phpforeach (array as $key => $value) {
  // เนื้อหาของลูป
}

ตัวอย่าง

การวนลูปผ่านสมาชิกอาร์เรย์แบบง่าย:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $value) {
    echo $value . '<br>';
  }
?>

ผลลัพธ์จากการรันโค้ด:

php1
2
3
4
5

ตัวอย่าง

การวนลูปอาร์เรย์พร้อมรับคีย์และค่า:

php<?php
  $arr = ['a' => 1, 'b' => 2, 'c' => 3];
  
  foreach ($arr as $key => $value) {
    echo "$key: $value<br>";
  }
?>

ผลลัพธ์จากการรันโค้ด:

phpa: 1
b: 2
c: 3

ตัวอย่าง

การใช้การอ้างอิงเพื่อปรับเปลี่ยนสมาชิกอาร์เรย์:

php<?php
  $arr = [1, 2, 3, 4, 5];
  foreach ($arr as &$value) {
    $value *= 2;
  }
  
  unset($value);
  print_r($arr);
?>

ผลลัพธ์จากการรันโค้ด:

php[2, 4, 6, 8, 10]

ดูเพิ่มเติม

  • ฟังก์ชัน array_map,
    ซึ่งใช้ callback-ฟังก์ชันกับทุกสมาชิกของอาร์เรย์
  • ฟังก์ชัน array_walk,
    ซึ่งใช้ฟังก์ชันที่ผู้ใช้กำหนดกับแต่ละสมาชิกของอาร์เรย์