在PHP中获取多维数组中的数据

时间:2013-10-16 20:22:42

标签: php arrays multidimensional-array

我遇到了问题。

我有这个数组:

Array ( 
    [0] => Array ( 
        [id] => 1 
        [opt] => reg_limit
        [value] => 0 
      ) 
    [1] => Array ( 
        [id] => 3 
        [opt] => pages_offline 
        [value] => [] 
       ) 
    [2] => Array ( 
        [id] => 4 
        [opt] => devolp 
        [value] => TRUE 
       ) 
)

我想检查[opt] devolp是否在第三个数组中有[value] TRUE。我该怎么办?

4 个答案:

答案 0 :(得分:2)

$aArray = Array ( 
[0] => Array ( 
    [id] => 1 
    [opt] => reg_limit
    [value] => 0 
  ) 
[1] => Array ( 
    [id] => 3 
    [opt] => pages_offline 
    [value] => [] 
   ) 
[2] => Array ( 
    [id] => 4 
    [opt] => devolp 
    [value] => TRUE 
   ) 
)

foreach($aArray AS $aInnerArray){
  if($aInnerArray['opt'] == 'devolp' && $aInnerArray['value'] == TRUE){
     //YOUR USE CASE
  }
}

答案 1 :(得分:1)

if ($array[2]['value']) echo 'true';

答案 2 :(得分:0)

如果您将来使用大型阵列并需要一些灵活性,这个foreach将适合您:

foreach($array as $a) {
    if(array_key_exists("opt", $a) && $a['opt'] == "devolp") {
        if(array_key_exists("value", $a) && $a['value'] == TRUE) {
            echo "Found it!";
            //Do whatever you need to do here....
        }
    }
}

答案 3 :(得分:0)

由于OP的问题对于细节是否相当模糊,他知道他需要检查哪个数组密钥,

如果您知道您需要签入的数组密钥,可以使用以下示例。

$bool = $yourMultiDeminsionalArray[2]['value'];

if ($bool) {

    //Do some awesome PHP shizzle here

}