关键PHP的搜索数组

时间:2016-01-19 12:04:46

标签: php arrays

function returnStatus($status)
{
    $supportStatus = [
        0 => 'open',
        1 =>'half closed',
        9 => 'closed',
    ];

    $key = array_search($status, $supportStatus);
    return $supportStatus[$key];
}

我的脚本返回0(打开),即使我将9作为int发送给函数。

2 个答案:

答案 0 :(得分:1)

您要找的是array_key_exists()

function returnStatus($status){

    $supportStatus = [
        0 => 'open',
        1 =>'half closed',
        9 => 'closed',
    ];

    $key = array_key_exists($status, $supportStatus);
    return $supportStatus[$key];
}

此外,如果您最终对存储在该密钥位置的值感兴趣,那么不要甚至需要进行这种麻烦。

我只是按照以下一行进行..

echo isset($supportStatus[$status]) ? $supportStatus[$status]: false;

或使用赋值运算符

$output = isset($supportStatus[$status]) ? $supportStatus[$status]: '';

答案 1 :(得分:0)

我希望这是你正在寻找的,

function searchColor($color){
    $array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
    $key = array_search($color, $array); 
    return $array[$key];    
}
echo searchColor('blue');

更新您的代码,看看它是否有效,here is the reference