РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить