php - 偽の配列値を偽の境界外インデックスと区別するにはどうすればよいですか?

原文 php arrays indexing

PHPの範囲外のインデックスが原因で、配列のインデックスの値が誤っているかどうかをどのように判断できますか?

たとえば、実際には次の$a$bの両方に少なくとも3つのアイテムがあると誤って結論付けられる場合があります。これは、両方の配列の3番目のアイテムを比較すると、インデックス2に同じ値があるとされているためです。配列2にインデックス$bがありません。実際、両方の値はnullです。

$a = array(1, false, null, 1, 0);  
$b = array(true, 0);

echo (int)($a[0] === $b[0]); // 0  
echo (int)($a[1] === $b[1]); // 0  
echo (int)($a[2] === $b[2]); // 1  null<declared>===null<index-out-of-bounds>
echo (int)($a[3] === $b[3]); // 0  
echo (int)($a[4] === $b[4]); // 0  
答え
興味深い質問...たぶんこのようなものです(ただし、数値配列インデックスのみ):
(int)(count($a)>=$i && count($b)>=$i && $a[$i]===$b[$i])


編集:おそらくarray_key_existsに基づくより良い解決策:
関連記事

javascript - 入力タイプを確認し、[保存]をクリックしている間は入力「パスワード」フィールドをスキップしてください

javascript - Angular Save vars to laravel session with ajax call do not work

php - ZF2 setPartialサブメニューにパラメーターを追加

php - カスタムインストールされたPHPをデフォルトとしてロードする

php - プロパティにアクセスするときに関数を呼び出す(PHPマジックメソッド)

php - PHPで私のローカル時間を追跡する方法

php - MySQLサブクエリエラー:SQLSTATE [42S21]:

php - テキスト要素を変数としてキャプチャする

php - PHPシンプルHTML DOMパーサーhtml5

php - 同じIPからの同時リクエストを許可するようにApacheを設定する方法