Як перевірити асоціативність масиву в PHP
Сніппет
Масив є "асоціативним", якщо він не має послідовних цифрових ключів, що починаються з нуля.
<?php
function isAssoc(array $array){
$keys = array_keys($array);
return array_keys($keys) !== $keys;
}
//использование
var_dump(isAssoc(['test'=>'associative','1'=>'integer'])); // true
var_dump(isAssoc(['test','integer','associative'])); // false
Якщо ваш масив не починається з "0" або ключі не по порядку, то ви можете перевірити чи є ключі числами:
<?php
function isAssoc($a) {
foreach(array_keys($a) as $key)
if (!is_int($key)) return true;
return false;
}
//використання
var_dump(isAssoc(['test','integer','associative'])); // false
var_dump(isAssoc([1=>'test',2=>'integer',100=>'associative'])); // false
Подібні сніпети
- Перевірити, чи встановлений бітовий флаг
- Витягти всі бітові флагі
- Перевірка, чи всі значення масиву рівні
- Валідація Email
- Валідація XML
- Як перевірити підключення до MySQL
- Перевірити, чи починається рядок із певних символів
- Перевірити, чи серіалізований рядок
- Валідація JSON
- Перевірка рівності двох масивів