有人可以告诉我为什么以下代码不起作用吗?
$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']
未设置为列的值。
答案 0 :(得分:0)
使用else
解决您的问题!这个else
可以是:
} else {
echo sprintf("array_key_exists did return true because [%s] does not contain %s",
implode(array_keys($ReturnData), ', '),
$k);
}