ホームページ >バックエンド開発 >PHPチュートリアル >PHPで2つの配列を比較して等しいかどうかを確認する方法
PHP で 2 つの配列が等しいかどうかを比較する方法
配列が 2 つあります
$a = array('aaa','bbb','ddd','aaa');
$b = array ('aaa','ddd','aaa','bbb');
sort() などの組み込み関数が使用できない場合に、これら 2 つの配列が等しいかどうかを比較する方法並べ替え。
組み込み関数を使用する必要がある場合、どの並べ替え関数が最も速いですか?
興味がある場合は、次の質問を参照してください: 数値の配列で最大の連続集合を見つけます
例: [1,2,5, 6,7 ,8] 最大の連続セットは 1,2 ではなく [5,6,7,8] です
[69,36,23,65,66,67,45] 最大の連続セットは [65] ,66, 67]
-----解決策---------
$a = array('aaa','bbb','ddd','aaa');
$b = array('aaa','ddd','aaa','bbb');
$c = array_diff($a, $b);
print_r($c);//出力 array()
----------- -- ----------------------------
$a = array('aaa1','bbb','ddd', 'aaa ');
$b = array('aaa','ddd','aaa','bbb');
$c = array_diff($a, $b);
print_r($c);//出力配列('aaa1')
------解決策------------------
<?php $a=配列(1,2,5,6,7,8); $b=配列(69,36,23,65,66,67,45); $c=配列(3,4,7,8,10,13,14); 関数 newarray($arr){ $temp1=配列(); $temp2=配列(); $temp3=配列(); for($i=1;$i<count($arr);$i++){ if($arr[$i] == $arr[$i-1] + 1) { $temp1[$i-1] = $arr[$i-1]; $temp1[$i] = $arr[$i]; }それ以外 { $temp2=$temp1; $temp1=配列(); } $temp3= (カウント($temp2) > カウント($temp1)) ? $temp2 : $temp1 ; }; $temp3 を返します。 } var_dump(newaray($a)); echo "<br/>"; var_dump(newaray($b)); echo "<br/>"; var_dump(newaray($c)); //$c には 3、4/7、8/13、14 の 3 つの型がある可能性があるため、$c を正しく返すことができません。 ?><div class="clear"></div>