ARRAY_IS_LIST() │ WP 6.5.0
Функция array_is_list() добавлена в PHP 8.1 как полифил, чтобы определить, является ли данный массив списком.
Что такое массив-список?
Массив считается списком, если его ключи представляют собой последовательные числа от 0 до count($array) - 1. Это значит, что массив должен начинаться с 0 и идти без пропусков.
Важно!
Функция не использует хуки.
Возвращаемое значение
Функция возвращает:
true, если массив является спискомfalse, если это не так
Использование
Функция вызывается следующим образом:
array_is_list( $arr );
Где $arr (массив) — это массив, который мы хотим проверить.
Примеры
Вот несколько примеров работы функции:
array_is_list( [] ); // true
array_is_list( [ 'apple', 2, 3 ] ); // true
array_is_list( [ 0 => 'apple', 'orange' ] ); // true
// Массив не начинается с 0
array_is_list( [ 1 => 'apple', 'orange' ] ); // false
// Ключи массива не по порядку
array_is_list( [ 1 => 'apple', 0 => 'orange' ] ); // false
// Ключи массива не являются целыми числами
array_is_list( [ 0 => 'apple', 'foo' => 'bar' ] ); // false
// Непоследовательные ключи
array_is_list( [ 0 => 'apple', 2 => 'bar' ] ); // false
Примечание
Вы можете добавить свой собственный пример использования.
Примечания
- Функция была добавлена в версии 6.5.0.
Код функции
В WordPress функция array_is_list() выглядит так:
function array_is_list( $arr ) {
if ( ( array() === $arr ) || ( array_values( $arr ) === $arr ) ) {
return true;
}
$next_key = -1;
foreach ( $arr as $k => $v ) {
if ( ++$next_key !== $k ) {
return false;
}
}
return true;
}
Связанные функции
Существует несколько вспомогательных функций, которые могут оказаться полезными:
array_key_first()array_key_last()calendar_week_mod()checked()disabled()fetch_feed()get_page_uri()wp_die()wp_html_excerpt()WP_List_Util()wp_parse_str()wp_redirect()wp_slash()wp_trim_words()
Полифилы PHP
Функция array_is_list() может использовать другие полифилы, если у вас более старая версия PHP:
is_countable()is_iterable()str_contains()str_ends_with()str_starts_with()wp_basename()wp_filesize()wp_generate_uuid4()wp_json_encode()wp_mkdir_p()wp_rand()wp_sprintf()
Проверки
Также есть функции для выполнения различных проверок:
is_admin_bar_showing()is_blog_installed()is_email()is_php_version_compatible()is_serialized()is_serialized_string()is_wp_error()is_wp_version_compatible()seems_utf8()wp_doing_ajax()wp_is_https_supported()wp_is_json_request()wp_is_numeric_array()wp_is_using_https()wp_validate_boolean()