アレイの 1 つで奇妙な問題が発生しました。配列は次のようになります。次に、print_r() を実行します。
Array
(
[id] => 1688
[pCid] => 1992
[category] => 177
[archive] => 0
[catid] =>
[pid] =>
[order_nr] => 1
[cOrder] => 1
[cSeo] => no-colour
[order_id] => 0
[price] => 8.99
[sale_price] => 7.99
[sale_expiry] =>
[oPrices] => 7.99
[member_price] => 6.99
[set] => 0
)
そして私が簡単なことをするとき
if(isset($array['set']['stock'])){}
$array['set'] が現在 0 に等しい場合、true を返します。
var_dump(isset($array['set']['stock'])) //bool(true)
true を返します
なぜこれが起こっているのですか?
( is_array($array['set']) チェックを実行してチェックの問題を解決しましたが、 isset が機能しない理由はまだわかりません)
次のように同じ問題を再現できることに気付きました。
<?php
$colour = array();
$colour['set'] = '0';
var_dump(isset($colour['set']['stock'])); //will return true
?>