Конструкция 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

Мисол

Массив элементларини модификациялаш учун reference ишлатиш:

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 функцияси,
    бу фойдаланувчи функциясини массивнинг ҳар бир элемента қўллайди