开发者

Condition for array with string as keys

My开发者_开发知识库 PL/SQL procedure returns a cursor. It always returns data. I fetch (oci_fetch_assoc) it and save it in an array. If results were found the keys of the array will be strings. If the cursor didn't find data, it will return value 0, thus the key of the array will be numeric.

while($data = oci_fetch_assoc($cursor)){
    if(!isset($data[0])){
       ...
    }
...
...
}

What's the best way to check that the array is not just 0, but contains data?

Thanks


Here is my solution:

if($data != array(0 => "0")){

and it works


if(!empty($data[0])) { ... }


oci_fetch_assoc returns an associated array, that is the column names are indexes in the array.

try one of these:

($data['firstColumn'] === 0)
(reset($data) === 0)

where 'firstColumn' is the actual name of the first column


You can use the '===' to see if $data[0] equals 0. Like:

if($data[0]===0) {
   // It really is the number 0
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜