cisa が PHP 公式 BUG ページに送信する方法
コードをコピー コードは次のとおりです。
< ?php
/ **
* PHP 5.2.6 以降の array_diff() 関数で大きな配列の処理に時間がかかる問題を解決しました。
*
*
* 主催: http://www.CodeBit. cn
* 出典: http://bugs.php.net/47643
*/
function array_diff_fast($data1, $data2) {
$data1 = array_flip($data1);
$data2 = array_flip($data2);
foreach($ data2 as $hash => $key) {
if (isset($data1[$hash])) unset($data1[$hash]);
}
return array_flip ($data1); コードは次のとおりです。
// 2 番目の配列を変換します。キーと値の関係
$secondArray = array_flip($secondArray);
// 最初の配列をループします。
// 最初の配列の対応する要素を削除しますarrayunset($firstArray[ $key]); } } return $firstArray;
}?>
このメソッド2 番目の配列のキーと値を交換するだけなので、より効率的です。
注: PHP の組み込みの array_diff() 関数は複数の配列を処理できますが、この記事で提供されるメソッドは 2 つの配列の比較のみを処理します。