Php проверка существования индекса массива

array_key_exists

Функция array_key_exists() возвращает true , если в массиве присутствует указанный ключ key . Параметр key может быть любым значением, которое подходит для индекса массива.

Список параметров

Массив с проверяемыми ключами.

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

Возвращает true в случае успешного завершения или false в случае возникновения ошибки.

Замечание:

array_key_exists() ищет ключи только на первом уровне массива. Внутренние ключи в многомерных массивах найдены не будут.

Примеры

Пример #1 Пример использования array_key_exists()

$search_array = array( ‘first’ => 1 , ‘second’ => 4 );
if ( array_key_exists ( ‘first’ , $search_array )) echo «Массив содержит элемент ‘first’.» ;
>
?>

Пример #2 array_key_exists() и isset()

isset() не возвращает true для ключей массива, указывающих на null , а array_key_exists() возвращает.

$search_array = array( ‘first’ => null , ‘second’ => 4 );

// возвращает false
isset( $search_array [ ‘first’ ]);

// возвращает true
array_key_exists ( ‘first’ , $search_array );
?>

Примечания

Замечание:

По причинам обратной совместимости, array_key_exists() возвращает true , если key является свойством объекта ( object ), переданным в качестве параметра array . На это поведение не стоит полагаться, и перед использованием данной функции необходимо проверять, что параметр array имеет тип array .

Чтобы проверить, содержит ли объект какое-либо свойство, используйте функцию property_exists() .

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

  • isset() — Определяет, была ли установлена переменная значением, отличным от null
  • array_keys() — Возвращает все или некоторое подмножество ключей массива
  • in_array() — Проверяет, присутствует ли в массиве значение
  • property_exists() — Проверяет, содержит ли объект или класс указанный атрибут

Источник

array_key_exists

Функция array_key_exists() возвращает TRUE , если в массиве присутствует указанный ключ key . Параметр key может быть любым значением, которое подходит для индекса массива.

Список параметров

Массив с проверяемыми ключами

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

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования array_key_exists()

$search_array = array( ‘first’ => 1 , ‘second’ => 4 );
if ( array_key_exists ( ‘first’ , $search_array )) echo «Массив содержит элемент ‘first’.» ;
>
?>

Пример #2 array_key_exists() и isset()

isset() не возвращает TRUE для ключей массива, указывающих на NULL , а array_key_exists() возвращает.

$search_array = array( ‘first’ => null , ‘second’ => 4 );

// возвращает false
isset( $search_array [ ‘first’ ]);

// возвращает true
array_key_exists ( ‘first’ , $search_array );
?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: key_exists()

Замечание:

По причинам обратной совместимости array_key_exists() возвращает TRUE , если key является свойством объекта, переданным в качестве параметра array . На это поведение не стоит полагаться, и перед использованием данной функции необходимо проверять, что параметр array имеет тип array .

Чтобы проверить, содержит ли объект какое-либо свойство, используйте функцию property_exists() .

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

  • isset() — Определяет, была ли установлена переменная значением отличным от NULL
  • array_keys() — Возвращает все или некоторое подмножество ключей массива
  • in_array() — Проверяет, присутствует ли в массиве значение
  • property_exists() — Проверяет, содержит ли объект или класс указанный атрибут

Источник

key_exists

Функция является псевдонимом: array_key_exists() .

User Contributed Notes

  • Функции для работы с массивами
    • array_​change_​key_​case
    • array_​chunk
    • array_​column
    • array_​combine
    • array_​count_​values
    • array_​diff_​assoc
    • array_​diff_​key
    • array_​diff_​uassoc
    • array_​diff_​ukey
    • array_​diff
    • array_​fill_​keys
    • array_​fill
    • array_​filter
    • array_​flip
    • array_​intersect_​assoc
    • array_​intersect_​key
    • array_​intersect_​uassoc
    • array_​intersect_​ukey
    • array_​intersect
    • array_​is_​list
    • array_​key_​exists
    • array_​key_​first
    • array_​key_​last
    • array_​keys
    • array_​map
    • array_​merge_​recursive
    • array_​merge
    • array_​multisort
    • array_​pad
    • array_​pop
    • array_​product
    • array_​push
    • array_​rand
    • array_​reduce
    • array_​replace_​recursive
    • array_​replace
    • array_​reverse
    • array_​search
    • array_​shift
    • array_​slice
    • array_​splice
    • array_​sum
    • array_​udiff_​assoc
    • array_​udiff_​uassoc
    • array_​udiff
    • array_​uintersect_​assoc
    • array_​uintersect_​uassoc
    • array_​uintersect
    • array_​unique
    • array_​unshift
    • array_​values
    • array_​walk_​recursive
    • array_​walk
    • array
    • arsort
    • asort
    • compact
    • count
    • current
    • end
    • extract
    • in_​array
    • key_​exists
    • key
    • krsort
    • ksort
    • list
    • natcasesort
    • natsort
    • next
    • pos
    • prev
    • range
    • reset
    • rsort
    • shuffle
    • sizeof
    • sort
    • uasort
    • uksort
    • usort
    • each

    Источник

    array_key_exists

    Функция array_key_exists() возвращает true , если в массиве присутствует указанный ключ key . Параметр key может быть любым значением, которое подходит для индекса массива.

    Список параметров

    Массив с проверяемыми ключами.

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

    Возвращает true в случае успешного выполнения или false в случае возникновения ошибки.

    Замечание:

    array_key_exists() ищет ключи только на первом уровне массива. Внутренние ключи в многомерных массивах найдены не будут.

    Примеры

    Пример #1 Пример использования array_key_exists()

    $search_array = array( ‘first’ => 1 , ‘second’ => 4 );
    if ( array_key_exists ( ‘first’ , $search_array )) echo «Массив содержит элемент ‘first’.» ;
    >
    ?>

    Пример #2 array_key_exists() и isset()

    isset() не возвращает true для ключей массива, указывающих на null , а array_key_exists() возвращает.

    $search_array = array( ‘first’ => null , ‘second’ => 4 );

    // возвращает false
    isset( $search_array [ ‘first’ ]);

    // возвращает true
    array_key_exists ( ‘first’ , $search_array );
    ?>

    Примечания

    Замечание:

    По причинам обратной совместимости, array_key_exists() возвращает true , если key является свойством объекта ( object ), переданным в качестве параметра array . Поведение устарело в PHP 7.4.0 и удалено в PHP 8.0.0.

    Чтобы проверить, содержит ли объект какое-либо свойство, используйте функцию property_exists() .

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

    • isset() — Определяет, была ли установлена переменная значением, отличным от null
    • array_keys() — Возвращает все или некоторое подмножество ключей массива
    • in_array() — Проверяет, присутствует ли в массиве значение
    • property_exists() — Проверяет, содержит ли объект или класс указанный атрибут

    User Contributed Notes 3 notes

    When you want to check multiple array keys:

    $array = [];
    $array [ ‘a’ ] = » ;
    $array [ ‘b’ ] = » ;
    $array [ ‘c’ ] = » ;
    $array [ ‘d’ ] = » ;
    $array [ ‘e’ ] = » ;

    // all given keys a,b,c exists in the supplied array
    var_dump ( array_keys_exists ([ ‘a’ , ‘b’ , ‘c’ ], $array )); // bool(true)

    function array_keys_exists (array $keys , array $array ): bool
    $diff = array_diff_key ( array_flip ( $keys ), $array );
    return count ( $diff ) === 0 ;
    >

    In PHP7+ to find if a value is set in a multidimensional array with a fixed number of dimensions, simply use the Null Coalescing Operator: ??

    So for a three dimensional array where you are not sure about any of the keys actually existing

    // use:
    $exists = array_key_exists ( $key3 , $arr [ $key1 ][ $key2 ]??[]) ;

    I took hours for me to debug, and I finally recognized that,

    You have to reset the $array before using array_key_exists
    reset($array);
    array_key_exists($needle,$array);

Оцените статью