ホームページ > バックエンド開発 > PHPチュートリアル > PHP 出力で同じ名前の要素を処理するいくつかの方法 array_PHP Tutorial

PHP 出力で同じ名前の要素を処理するいくつかの方法 array_PHP Tutorial

WBOY
リリース: 2016-07-21 15:16:46
オリジナル
975 人が閲覧しました

1. PHP の組み込み関数 array_intersect() を直接使用できます
array array_intersect ( array $array1 , array $array2 [, array $ ... ] )
array_intersect() は、array1 のすべての項目を含む配列を返します他のすべてのパラメータ配列にも現れる値。キー名は変更されないことに注意してください。
コード:

コードをコピー コードは次のとおりです:

$array1 = array("a" => "green", "red", "blue"); $array2 = array("b" => "green", " yellow", "red");
$result = array_intersect($array1, $array2)


出力結果:
Array( [a] => 緑 [0] => 赤)

2. アルゴリズムを自分で書くこともできます:

コードは次のとおりです:
function my_array_same($a){ $b = array_unique($a);
echo "
"; r)); 
$k を返す
}
$a = array("赤"、"緑"、"ピンク"、"赤"、"黄"、"ピンク"、"赤"); my_array_same($a);
var_dump( array_unique($r));


出力結果:
[3]=>
string(3) ]=>
string(4) "pink"
}

3. 次のように書くこともできます:



コードは次のとおりです:


function my_array_intersect ($arr1,$arr2){
for($i= 0;$i$temp[]=$arr1[$i]
} for($i= 0;$i$temp[]=$arr2[$i]; sort($temp); for($i) =0;$iif($temp[$i]==$temp[$i+1]) $get[]=$temp[$i];
return $get
}
$array1 = array("green", "red", "blue");
$array2 = array("green", " yellow", "red"); ;pre>";
print_r(my_array_intersect($array1, $ array2));
echo "
"; 
?>


1次元配列の場合、3番目のアルゴリズムの方が高速です上記のアルゴリズムはすべて 1 次元配列に適しています。では、多次元配列で同じ要素を見つけるにはどうすればよいでしょうか?

アイデア: 多次元配列を 1 次元配列に変換し、上記のアルゴリズムを使用してそれを出力できます。

コード:



コードをコピー

コードは次のとおりです:


function toarr($arr){ //配列を再帰し、文字列として返します
foreach ($arr as $k=> ;$v ){
if (!is_array($v)) {
$str.=$v." ";
}
$str.=toarr($v);
return $ str;
}/*再帰関数の終わり*/

上記の式は、多次元配列を文字列に変換し、それを expode 関数を使用して 1 次元配列に変換します。 考えてみてください。これは、データベースが同じ名前の特定のフィールドの値を返す場合にも当てはまります。もちろん、SQL ステートメントを通じても実現できます。
http://www.bkjia.com/PHPjc/325862.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/325862.html

技術記事

1. PHP の組み込み関数 array_intersect() を直接使用できます。 array array_intersect ( array $array1 , array $array2 [, array $ ... ] ) array_intersect() は、次の内容を含む配列を返します...




ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート