我的 PL/SQL 过程返回一个游标。它总是返回数据。我获取(oci_fetch_assoc)它并将其保存在一个数组中。如果找到结果,则数组的键将是字符串。如果游标没有找到数据,它将返回值 0,因此数组的键将是数字。
while($data = oci_fetch_assoc($cursor)){
if(!isset($data[0])){
...
}
...
...
}
检查数组不只是 0 而是包含数据的最佳方法是什么?
谢谢
我的 PL/SQL 过程返回一个游标。它总是返回数据。我获取(oci_fetch_assoc)它并将其保存在一个数组中。如果找到结果,则数组的键将是字符串。如果游标没有找到数据,它将返回值 0,因此数组的键将是数字。
while($data = oci_fetch_assoc($cursor)){
if(!isset($data[0])){
...
}
...
...
}
检查数组不只是 0 而是包含数据的最佳方法是什么?
谢谢
这是我的解决方案:
if($data != array(0 => "0")){
它有效
if(!empty($data[0])) { ... }
您可以使用 '===' 来查看 $data[0] 是否等于 0。例如:
if($data[0]===0) {
// It really is the number 0
}
oci_fetch_assoc 返回一个关联数组,即列名是数组中的索引。
尝试其中之一:
($data['firstColumn'] === 0)
(reset($data) === 0)
其中 'firstColumn' 是第一列的实际名称