Цикл foreach PHP: методы и примеры итерации массивов и объектов

В PHP цикл foreach используется для перебора массивов или объектов. Он позволяет выполнять операции над каждым элементом, не зная явно длину массива или структуру объекта. Вот несколько методов, которые можно использовать с циклом foreach, а также примеры кода:

  1. Доступ к элементам массива:

    $fruits = ['apple', 'banana', 'orange'];
    foreach ($fruits as $fruit) {
       echo $fruit . ' ';
    }
    // Output: apple banana orange
  2. Доступ к элементам массива с помощью ключей:

    $colors = ['red' => '#FF0000', 'green' => '#00FF00', 'blue' => '#0000FF'];
    foreach ($colors as $key => $value) {
       echo $key . ': ' . $value . ' ';
    }
    // Output: red: #FF0000 green: #00FF00 blue: #0000FF
  3. Изменение элементов массива:

    $numbers = [1, 2, 3, 4, 5];
    foreach ($numbers as &$number) {
       $number *= 2;
    }
    unset($number); // Unset the reference to avoid potential issues
    print_r($numbers);
    // Output: Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )
  4. Цикл по объектам:

    class Person {
       public $name;
       public $age;
       public function __construct($name, $age) {
           $this->name = $name;
           $this->age = $age;
       }
    }
    $person1 = new Person('John', 25);
    $person2 = new Person('Jane', 30);
    $people = [$person1, $person2];
    foreach ($people as $person) {
       echo $person->name . ' is ' . $person->age . ' years old. ';
    }
    // Output: John is 25 years old. Jane is 30 years old.
  5. Пропуск и разрыв цикла:

    $numbers = [1, 2, 3, 4, 5];
    foreach ($numbers as $number) {
       if ($number === 3) {
           continue; // Skip number 3
       }
       if ($number === 4) {
           break; // Exit the loop when number 4 is reached
       }
       echo $number . ' ';
    }
    // Output: 1 2