array_unique
配列内の配列のような関数が必要です。
ケース - 等しいはずですが、「等しくない」と出力されます。
<?php
$arr=array(array('a',1),array('a',2));
$arr2=array_unique($arr);
if($arr2==$arr){
echo "equal";
}
else{
echo "not equal";
}
?>
「等しい」出力を得るには、コードをどのように変更する必要がありますか?
array_unique
配列内の配列のような関数が必要です。
ケース - 等しいはずですが、「等しくない」と出力されます。
<?php
$arr=array(array('a',1),array('a',2));
$arr2=array_unique($arr);
if($arr2==$arr){
echo "equal";
}
else{
echo "not equal";
}
?>
「等しい」出力を得るには、コードをどのように変更する必要がありますか?
呼び出しを変更して、フラグarray_unique
を含める必要があります。SORT_REGULAR
$arr2 = array_unique($arr, SORT_REGULAR);
外側の配列に一意のエントリがあるかどうかをテストする場合は、最初に内側の内容を文字列化して比較します。
$arr1 = array_map("serialize", $arr);
$arr2 = array_unique($arr1);
if ($arr2 == $arr1) {