Оператори роботи з масивами, про які мало говорять

У PHP 12 видів операторів: пріоритетні, арифметичні, привласнення, побітові, порівняння, управління помилками, виконання, инкремента / декремента, логічні, рядкові, для роботи з масивами і перевірки типу. У цій статті ми детально розглянемо оператори, які можна задіяти при роботі з масивами.

Оператори для роботи з масивами

В офіційній документації оператори роботи з масивами описані досить-таки коротко, і в результаті не зовсім зрозуміло де і як їх можна застосовувати. Давайте розглянемо кожен оператор. Всі вони є бінарними, а значить призначені для роботи з двома масивами.

об'єднання масивів

Отже, в першу чергу розглянемо оператор (+) для об'єднання масивів на основі ключів. Ключі другого масиву, будуть проігноровані в разі якщо в першому масиві є елементи з точно такими ж ключами. Всі інші елементи з другого масиву будуть додані до першого:

При виведенні результату через print_r (), перші три елементи масиву $ array2 містять точно такі ж ключі, як в масиві $ array1, так що елементи 'd', 'e', ​​і 'f' не потраплять в загальний масив. При виклику другого print_r (), всі ключі елементів в масиві $ array1 вже існують в масиві $ array2, тому будуть ігноровані.

Дана особливість може привести до несподіваних результатів, але в той же час, це може сприяти непоганий оптимізації коду.

Багато хто думає, що результат складання залежить від значень елементів масивів, а не ключів. Це не так. Для об'єднання масивів на основі значень можете скористатися комбінацією функцій ofarray_merge () і array_unique ():

порівняння масивів

Розташування елементів в двох масивах різний, але вони рівні. Наступний приклад, може здатися дивним, але ці масиви не рівні через різні значень ключів і значень:

Для того щоб перевірити масиви на нерівність слід використовувати оператори! = І <>. Принцип роботи такий самий:

ідентичність масивів

За допомогою оператора === можна перевірити абсолютну ідентичність масивів:

  • містять одне і теж кількість елементів;
  • ключі і значення елементів однакові в обох масивах;
  • порядок елементів;
  • абсолютно збігаються за типами даних у значень елементів;

Тут є кілька особливостей: якщо ключі одного масиву типу string, а другого integer і все значення збігаються, то оператор поверне true. Якщо ж замість integer скористатися float, то результат буде false.

Ну і зворотна перевірка може бути здійснена за допомогою оператора (! ==).

Використовуємо інші оператори при роботі з масивами

PHP діє по-різному при застосуванні інших операторів до масивів. Зараз подивимося які можуть бути результати.

Fatal Error: Unexpected Operand Type

PHP викине fatal error при використанні наступного операторів по відношенню до масивів:

  • побітовий оператор не (
)
  • арифметичний оператор зміни знака (-)
  • арифметичний оператор віднімання (-)
  • арифметичний оператор множення (*)
  • арифметичний оператор ділення (/)
  • Робота з типом Масив, як з типом Integer

    При використанні наступних операторів, робота з масивами буде перетворена до роботи з цілими числами. Порожній масив (без елементів) це int (0), а не порожній int (1).

    1. Логічне заперечення (!) Поверне true якщо масив порожній і false якщо в масиві один або більше елемент.
    2. Побітовий і () поверне 1 якщо обидва операнда не пустої і 0 якщо обидва операнда порожні.
    3. Побітовий або (|) поверне 0 якщо обидва операнда порожні; в іншому випадку 1.
    4. Побітовий xor (^) поверне 0 якщо обидва масиви одночасно або порожні або повні. Якщо хоча б один з масив порожній, повернеться 1.
    5. Зрушення масиву на кілька кроків за допомогою оператора (<<) вернёт 1 <
    6. Зрушення права (>>) виробляє тільки таку ж дію, тільки в інший бік.
    7. Залишок від ділення (%) поверне true якщо обидва масиву не порожні. Якщо другий масив порожній, то це викличе помилку розподіл на нуль ( "Division by Zero"). Якщо перший масив порожній, то буде повернений 0 (результат 0% 1).
    8. Логічне і ( і AND) поверне false якщо будь-який з масивів порожній. Якщо вони обоє не порожні, то true.
    9. Логічне або (|| і OR) поверне true якщо обидва операнда не пустили. В іншому випадку false.
    10. Якщо обидва масиви порожні або не пустили, логічний (XOR) поверне false. В іншому випадку, якщо хоча б один масив порожній true.

    Робота з типом Масив, як з типом Рядок

    При конкатенації двох масивів за допомогою (.) Буде отримано наступний результат:

    без ефекту

    Використання операторів (++ і -) не дає ніякого ефекту.

    Оператори роботи з масивами, про які мало говорять

    За рахунок отримання інформації відразу по двох каналах (зір і слух) ефективність навчання значно перевершує навчання по книгах. А домашні завдання і онлайн-тести дозволять вам постійно думати на мові, що вивчається і відразу перевіряти свої знання!

    Оператори роботи з масивами, про які мало говорять

    Оператори роботи з масивами, про які мало говорять

    Якщо ви давно хочете як слід вивчити HTML, то у мене для Вас є чудова новина!

    Оператори роботи з масивами, про які мало говорять

    Якщо ви вже вивчили HTML і хочете рухатися далі, то наступним кроком буде вивчення технології CSS.

    Оператори роботи з масивами, про які мало говорять

    Якщо ви хочете розібратися з поняттями домену і хостингу, навчитися створювати бази даних, закачувати файли сайту на сервер по FTP, створювати піддомени, налаштовувати поштові скриньки для свого сайту і стежити за його відвідуваністю, то цей курс створений спеціально для вас!

    Схожі статті