如何在php数组中搜索字符串,但只能在特定键内?

时间:2018-09-29 05:05:00

标签: php arrays

我有一个名为$myarray的数组,看起来可能像这样:

Array
(
    [221] => suspended-suspended-1
    [691] => knee-ir-1
    [812] => knee-ir-4
)

下面,我正在检查ID是否作为键存在(例如691),如果存在,则我想再次检查该键是否存在字符串“ ir”。例如,不仅数组中的任何地方都必须紧邻691(即在特定行上)。

$row['id']=691; //for example

if (array_key_exists($row['id'], $myarray)) {  
    if (in_array("ir", $myarray)){
        //ill do some stuff here if "ir" exists         
    } else {
    }
}

很明显,我写的内容将在数组中的任何位置查找“ ir​​”,但是如何仅在与键“ 691”相关的信息中查找?

2 个答案:

答案 0 :(得分:3)

使用isset()strpos()简化代码

$row['id']=691; //for example

if(isset($myarray[$row['id']]) && strpos($myarray[$row['id']],"ir") !==false){
  //ill do some stuff here if "ir" exists 
}

输出:-{https://3v4l.org/5CrLW

注意:-如果要检查该索引的确切值(给定的索引值是否为ir),请使用==

输出:-{https://3v4l.org/U7bHg

答案 1 :(得分:1)

$myarray = Array(
            [221] => suspended-suspended-1 
            [691] => knee-ir-1 
            [812] => knee-ir-4 
            ); 
    if(isset($myarray){ 
        if (in_array("-ir", $myarray)) { 
            //ill do some stuff here if "ir" exists 
        }else{ 
            //ill do some stuff here if "ir" exists 
        } 
    } 
}