Vòng lặp foreach trong PHP

Hiêu đơn giản vòng lặp foreach giúp duyệt qua các đối tượng trong một mảng PHP giống như vòng lặp for.
code example:

<?php
$members = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
foreach ($members as $x => $y) {
  echo "$x : $y <br>";
}
?>


Kết quả: 
Peter : 35
Ben : 37
Joe : 43

Sử dụng KEY và VALUES
Mảng trên là một mảng được lập chỉ mục , trong đó mục đầu tiên có khóa 0, mục thứ hai có khóa 1, v.v.
Mảng kết hợp thì khác, mảng kết hợp sử dụng các khóa được đặt tên mà bạn gán cho chúng và khi lặp qua các mảng kết hợp, bạn có thể muốn giữ lại khóa cũng như giá trị.
Điều này có thể được thực hiện bằng cách chỉ định cả khóa và giá trị trong foreachđịnh nghĩa, như sau:
<?php
$members = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

foreach ($members as $x => $y) {
  echo "$x : $y <br>";
}
?>

Kết quả:
Peter : 35
Ben : 37
Joe : 43

Vòng lặp foreach trên các đối tượng

In tên thuộc tính và giá trị của $myCarđối tượng:

<?php
class Car {
  public $color;
  public $model;
  public function __construct($color, $model) {
    $this->color = $color;
    $this->model = $model;
  }
}

$myCar = new Car("red", "Volvo");

foreach ($myCar as $x => $y) {
  echo "$x: $y<br>";
}
?>

Kết quả:
color: red
model: Volvo

Hàm Break - Dừng

<?php
$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $x) {
  if ($x == "blue") break;
  echo "$x <br>";
}
?>

Kết quả:
red
green

Hàm Continue - Bỏ qua

$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $x) {
  if ($x == "blue") continue;
  echo "$x <br>";
}
?>
Kết quả:
red
green
yellow

Foreach Byref - Nguyên tắc trong vòng lặp Foreach

Theo mặc định, việc thay đổi một mục mảng sẽ không ảnh hưởng đến mảng ban đầu:

<?php
$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $x) {
  if ($x == "blue") $x = "pink";
}
var_dump($colors);
?>
Kết quả:
array(4) {

[0]=>
string(3) "red"
[1]=>
string(5) "green"
[2]=>
string(4) "blue"
[3]=>
string(6) "yellow"
}

bằng cách sử dụng & ký tự trong foreachphần khai báo, mục mảng được gán bởi reference , dẫn đến mọi thay đổi được thực hiện đối với mục mảng cũng sẽ được thực hiện đối với mảng ban đầu:

Bằng cách gán các mục mảng theo tham chiếu , các thay đổi sẽ ảnh hưởng đến mảng ban đầu:

<pre>
<?php
$colors = array("red", "green", "blue", "yellow");

foreach ($colors as &$x) {
  if ($x == "blue") $x = "pink";
}

var_dump($colors);
?>
</pre>

Kết quả:
array(4) {
  [0]=>
  string(3) "red"
  [1]=>
  string(5) "green"
  [2]=>
  string(4) "pink"
  [3]=>
  string(6) "yellow"
}

endforeach 

Cú foreachpháp vòng lặp cũng có thể được viết bằng endforeachcâu lệnh như thế này

$colors = array("red", "green", "blue", "yellow");


foreach ($colors as $x) :

  echo "$x <br>";

endforeach;

?>

Kết quả:

red

green

blue

yellow

Share:

0 nhận xét:

Đăng nhận xét