РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1143 of 1392 menu
◀ ▶

Метод isAssoc

Метод isAssoc класса Arr определяет, является ли переданный массив ассоциативным. Метод возвращает true, если массив имеет хотя бы один строковый ключ. Если все ключи массива являются числовыми и идут по порядку от нуля, метод возвращает false.

Особенность метода isAssoc заключается в том, что он проверяет именно наличие строковых ключей. Массив считается ассоциативным, если у него есть хотя бы один ключ, который не является целым числом. Даже если в массиве присутствуют числовые ключи, но есть хотя бы один строковый, метод вернёт true.

Синтаксис

<?php Arr::isAssoc($array); ?>

Метод принимает один параметр:

  • $array - массив для проверки

Возвращаемое значение:

  • true - массив является ассоциативным
  • false - массив является индексным

Пример

Проверим обычный индексный массив:

<?php use Illuminate\Support\Arr; $arr = ['a', 'b', 'c', 'd', 'e']; $res = Arr::isAssoc($arr); var_dump($res); ?>

Результат выполнения кода:

bool(false)

Метод вернул false, так как все ключи массива являются числовыми и идут по порядку от нуля.

Пример

Проверим ассоциативный массив:

<?php use Illuminate\Support\Arr; $arr = ['name' => 'John', 'age' => 30, 'city' => 'New York']; $res = Arr::isAssoc($arr); var_dump($res); ?>

Результат выполнения кода:

bool(true)

Метод вернул true, так как в массиве присутствуют строковые ключи.

Пример

Проверим массив со смешанными ключами:

<?php use Illuminate\Support\Arr; $arr = ['a', 'b', 'c', 'foo' => 'bar', 'd']; $res = Arr::isAssoc($arr); var_dump($res); ?>

Результат выполнения кода:

bool(true)

Метод вернул true, потому что массив содержит строковый ключ 'foo', даже несмотря на наличие числовых ключей.

Пример

Проверим массив с числовыми ключами, которые не начинаются с нуля:

<?php use Illuminate\Support\Arr; $arr = [1 => 'a', 2 => 'b', 3 => 'c']; $res = Arr::isAssoc($arr); var_dump($res); ?>

Результат выполнения кода:

bool(false)

Метод вернул false, так как все ключи являются числовыми, несмотря на то, что они не начинаются с нуля. Важно отметить, что метод isAssoc проверяет именно наличие строковых ключей, а не непрерывность или начало отсчёта числовых ключей.

Пример

Проверим массив с ключами, содержащими числовые строки:

<?php use Illuminate\Support\Arr; $arr = ['1' => 'a', '2' => 'b', '3' => 'c']; $res = Arr::isAssoc($arr); var_dump($res); ?>

Результат выполнения кода:

bool(false)

Несмотря на то, что ключи записаны как строки, PHP преобразует их в целые числа, поэтому метод возвращает false.

Смотрите также

  • метод isList,
    который проверяет, является ли массив индексным
  • метод get,
    который получает значение из массива по ключу
  • метод has,
    который проверяет наличие ключа в массиве
  • метод only,
    который возвращает только указанные элементы массива
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить