如果找不到密钥,则将关键字添加到关联数组

3 php

给定像这样的PHP关联数组:

$a = array(
    'color' => 'red',
    'taste' => 'sweet',
    'shape' => 'round',
    'name'  => 'apple'
);
Run Code Online (Sandbox Code Playgroud)

我想搜索一个键,如果没有找到,我想添加'myKey'=> 0.做这种事的最好方法是哪种?

Tim*_*per 18

您正在寻找array_key_exists功能:

if (!array_key_exists($key, $arr)) {
    $arr[$key] = 0;
}
Run Code Online (Sandbox Code Playgroud)


Mat*_*lin 5

你有两种方法,如果你确定你的密钥不能有NULL,那么你可以使用ISSET()

if(!isset($a['keychecked'])){
    $a['keychecked'] = 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,如果您的阵列中有NULLS.您必须使用longue来编写的array_key_exists(),而不是isset(NULL)== false规则的subjet.

if(!array_key_exists('keychecked', $a)){
    $a['keychecked'] = 0;
}
Run Code Online (Sandbox Code Playgroud)