array_key_exist在多维数组的第一层上

时间:2011-09-24 17:45:44

标签: php arrays

有人可以告诉我为什么以下代码不起作用吗?

$ReturnData=array(
    'cardauth'=>array('success'=>'')
);

$Query="SELECT cardauth FROM y WHERE x = '".$x."'";
$Data=mysql_query($Query);
while($Row = mysql_fetch_array($Data)){
    foreach($Row as $k => $v){
        if(array_key_exists($k,$ReturnData)){
            $ReturnData[$k]['success']=$v;
        }
    }
}
die(print_r($ReturnData));

我正在尝试使用mysql fetch交叉的列设置数组$ReturnData的第二个维度的值。 'cardauth'将是一个BIT。我使用相同的方法来填充同一循环内的单维数组。我删除了所有不必要的代码。

array_key_exists无效。 $ReturnData['cardauth']['success']未设置为列的值。

1 个答案:

答案 0 :(得分:0)

使用else解决您的问题!这个else可以是:

} else  {
  echo sprintf("array_key_exists did return true because [%s] does not contain %s",
    implode(array_keys($ReturnData), ', '), 
    $k);
}