0

PL/SQL プロシージャがカーソルを返します。常にデータを返します。それを取得 (oci_fetch_assoc) し、配列に保存します。結果が見つかった場合、配列のキーは文字列になります。カーソルがデータを見つけられなかった場合、値 0 が返されるため、配列のキーは数値になります。

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

配列が 0 だけでなく、データが含まれていることを確認する最良の方法は何ですか?

ありがとう

4

4 に答える 4

1

これが私の解決策です:

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

そしてそれは動作します

于 2010-04-08T15:02:36.863 に答える
0

oci_fetch_assoc は関連する配列を返します。つまり、列名は配列内のインデックスです。

次のいずれかを試してください。

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

ここで、「firstColumn」は最初の列の実際の名前です

于 2010-04-08T15:07:47.727 に答える
0
if(!empty($data[0])) { ... }
于 2010-04-08T14:39:47.067 に答える
0

「===」を使用して、$data[0] が 0 に等しいかどうかを確認できます。

if($data[0]===0) {
   // It really is the number 0
}
于 2010-04-08T14:40:07.020 に答える