php - 关联数组中的键是否存在

标签 php netbeans

我编写了一些 PHP 代码来从 MySQL 数据库中检索一些数据。

我的 NetBeans 调试器 (v7.4) 显示所有数组元素和相关键($data_array_from_db),这些键与数据库表中的列字段相对应,除了未填充数据库字段的键(值 NULL) .

但是,当在下面的代码中执行 array_key_exists() 函数时,对于与此类未填充的数据库字段相对应的“akey”,array_key_exists() 返回一个“true”值(而不是预期的 false) - 就好像key 确实存在(同时,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;
}

最佳答案

NULL 是一个值,如果要替换它,需要检查它。变化:

if(array_key_exists('akey',$data_array_from_db) ){

致:

if(array_key_exists('akey',$data_array_from_db) && !is_null($data_array_from_db['akey'])){

关于php - 关联数组中的键是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19864210/

相关文章:

php - 如何在 PHP 中使用 flock?

php - 无法修改 header 信息 - header 已发送(混淆)

java - 在java jTable中显示lucene搜索结果

java - 分发 glassfish 服务器应用程序

javascript - 利用 document.forms[0].elements ['someid' ].style.backgroundColor

php - 正则表达式在每个 {space} 上拆分字符串,但不包含在引号中

php - 分组查询结果后分组 (Codeigniter)

php - Netbeans - 导入命名空间的快捷方式

java - netbeans 生成的代码中生成错误

NetBeans 中的 Java Me 平台问题