PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHP での配列の比較:等価性チェックの包括的なガイド

PHP で配列を操作する場合、多くの場合、配列を比較して、同じ要素が含まれているかどうかを確認する必要があります。配列の等価性は、同じ順序の同じ要素、順序に関係なく同じ要素、または厳密な型一致の異なるものを意味する場合があります。この記事では、PHP で 2 つの配列が等しいかどうかを確認するさまざまな方法について説明します。

==演算子の使用

== 演算子は、厳密な型チェックを行わずに、配列に同じ要素が同じ順序で含まれているかどうかをチェックする緩やかな比較を提供します。

<?php
$arr1 = [1, 2, 3, 4];
$arr2 = [1, 2, 3, 4];
if ($arr1 == $arr2) {
 echo "The arrays are equal";
} else {
 echo "The arrays are not equal";
}
?>
The arrays are equal

===演算子の使用

=== 演算子は厳密な比較を実行し、値とデータ型の両方をチェックしますか?

<?php
$array1 = [1, 2, 3, 4];
$array2 = [1, 2, '3', 4]; 
if ($array1 === $array2) {
 echo "The arrays are equal!";
} else {
 echo "The arrays are not equal!";
}
?>
The arrays are not equal!

array_diff() メソッドの使用

array_diff() 関数は配列を比較し、差異を返します。順序なしの比較の場合、両方向に違いが存在するかどうかを確認しますか?

<?php
$array1 = [1, 2, 3];
$array2 = [3, 2, 1];
if (empty(array_diff($array1, $array2)) && empty(array_diff($array2, $array1))) {
 echo "Arrays are equal";
} else {
 echo "Arrays are not equal";
}
?>
Arrays are equal

順序なし比較のための並べ替えアプローチ

順序が重要でない場合は、まず両方の配列を並べ替えてから、== を使用して比較します。 ?

<?php
$array1 = [3, 2, 1];
$array2 = [1, 2, 3];
// Sort both arrays
sort($array1);
sort($array2);
// Compare sorted arrays
if ($array1 == $array2) {
 echo "The arrays are equal";
} else {
 echo "The arrays are not equal";
}
?>
The arrays are equal

比較の概要

メソッド 型チェック 注文に敏感 最適な目的 == ルースはい同じ順序、混合タイプ=== StrictYesExact は array_diff() に一致します LooseNoUnordered 比較ソート + == LooseNoUnordered、単純な配列

結論

=== を選択します 厳密に等しい場合は、== order との大まかな比較の場合、および array_diff() または、順序なしの比較のための並べ替えアプローチ。各方法は、特定のニーズに基づいて異なる比較要件に対応します。

PHP での配列の比較:等価性チェックの包括的なガイド


  1. imagefilltoborder()(GD)関数を使用して、PHPで特定の色に塗りつぶします。

    imagefilltoborder() はPHPに組み込まれている関数で、特定の色で塗りつぶしを実行するために使用されます。この色の境界線の色は境界線によって定義されます。塗りつぶしの開始点は(x、y)または左上は(0、0)で、領域は色で塗りつぶされます。 構文 bool imagefilltoborder(resource $image, int $x, int $y, int $border, int $color) パラメータ imagefilltoborder() $ image、$ x、$ y、$ border、$colorの5つの異なるパラメータを取ります。 $ ima

  2. PHPのimagefill()関数

    imagefill()関数は、画像を塗りつぶすために使用されます。 構文 imagefill(img, x, y, color) パラメータ img imagecreatetruecolor()を使用して空白の画像を作成します。 x 始点のx座標 y 始点のy座標 色 塗りつぶしの色。 戻る imagefill()関数は、成功した場合はTRUEを返し、失敗した場合はFALSEを返します。 例 次に例を示します。 <?php    $img = imagecreatetruecolor(400, 400);