ホームページ  >  記事  >  バックエンド開発  >  PHPで2つの配列を比較して等しいかどうかを確認する方法

PHPで2つの配列を比較して等しいかどうかを確認する方法

WBOY
WBOYオリジナル
2016-06-13 13:25:131832ブラウズ

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 コード

<?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>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。