我编写了一些 PHP 代码来从我的 MySQL 数据库中检索一些数据。
我的 NetBeans 调试器 (v7.4) 显示所有数组元素和相关键($data_array_from_db),哪些键对应于数据库表中的列字段,除了哪些数据库字段的键未填充(值为 NULL)。
但是,当在下面的代码中执行 array_key_exists() 函数以表示与此类未填充的数据库字段相对应的“akey”时,array_key_exists() 返回一个“真”值(而不是预期的假) - 好像该键确实存在(同样,NetBeans 调试器不显示 $data_array_from_db['akey'])。
我确信数据库函数 array_key_exists() 可以正常工作。我解释错了吗?如果对应的数据库值为 NULL,该键是否/应该存在?
$data_array_from_db = $corpdb->GetSpecificDBRecords($sqlquery5); //GetSpecificDBRecords() includes some PDO statements
if (array_key_exists('akey', $data_array_from_db)) { // Database value is optional; exists?
$response_array[0]['akey'] = $data_array_from_db['akey']; // This line executed while akey does not show in NetBeans debuggers
}
else { // Database value does not exist; set to 0
$response_array[0]['akey'] = 0;
}