如何在double数组中匹配变量值

时间:2016-02-16 10:12:49

标签: php arrays

我遇到类似以下示例代码的问题:

$code='100'; //$maybe $code='0' or $code='1' ... i just set a number as an sample

$xx=array(
'0'=>array(a,b,c),
'1'=>array(d,e,f), 
........
'100'=>array(aa,bb,cc)
);

我想在数组中找到$ code:

if($code==$xx['$code']){
echo $xx['code'][0];  //if i want get the value 'aa'
}

但似乎$xx['$code']无效。 有谁知道解决问题的正确方法?

4 个答案:

答案 0 :(得分:2)

首先,您需要使用array_key_exists来获取if条件,然后您可以像使用

一样使用它
if(array_key_exists($code,$xx)){
    echo $xx[$code][0];  
}

或者可以简单地使用isset代替

if(isset($xx[$code])){
    echo $xx[$code][0];  
}

答案 1 :(得分:0)

你不应该在这里使用单引号, 填写显示变量时,可以使用不带引号,也可以将其放在双“”试试{{1}}或{{1}}

之间

答案 2 :(得分:0)

使用isset!empty检查数组中是否存在密钥。它还会检查该密钥是否有效。

  if(isset($xx[$code])){
      echo $xx[$code][0];  
  }

OR

  if(!empty($xx[$code])){
      echo $xx[$code][0];  
  }

答案 3 :(得分:0)

if($code==$xx['$code']){
  echo $xx[$code][0];  //if i want get the value 'aa'
}

如果您使用'$code',则不会检查$code的内容,因为''会将所有内容解释为字符串,并且不会在其中查找变量。

您也可以'code',因为code只是您使用的变量的名称。