ホームページ > バックエンド開発 > PHPの問題 > PHPで配列から重複した要素を削除する方法

PHPで配列から重複した要素を削除する方法

青灯夜游
リリース: 2023-03-17 18:58:01
オリジナル
1878 人が閲覧しました

方法 1: array_unique() 関数を使用して配列の重複を排除します。構文は「array_unique($arr)」です。2. PHP 配列キー名の反復不可能な機能を利用し、数値を 2 回反転する array_flip() 関数 グループのキー名とキー値の位置、構文は "array_flip(array_flip($arr))"; 3. PHP 配列キーの反復不可能な機能を利用する名前を指定するには、foreach ステートメントを使用して、配列のキー名とキー値の位置を 2 回反転します。

PHPで配列から重複した要素を削除する方法

このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューター

php には、ファイルの重複要素を削除するための複数のメソッドが用意されています。配列。見てみましょう。

方法 1: array_unique() 関数を使用して配列の重複を排除する

array_unique() 関数を使用して重複した値を削除します。配列内で 。 2 つ以上の配列値が同じ場合、最初の値のみが保持され、他の値は削除されます。

注: 保持される配列は、最初の配列項目のキー タイプを保持します。

<?php 
header("content-type:text/html;charset=utf-8");
$array = array(1,2,3,3,4,2,3,5,6,4,5,7,8,9,10); 
var_dump($array);       
 
$result = array_unique($array);
echo "删除重复元素后的数组";
//var_dump(array_values($filtered_array)); 
var_dump($result);
?>
ログイン後にコピー

PHPで配列から重複した要素を削除する方法

方法 2: array_flip() 関数を使用する

array_flip() 関数を使用する配列内のキー名と、対応する関連キー値を反転/交換します。

配列内の2つの値が同じ場合、反転後も最後のキーと値が保持されるという機能があり、この機能を利用して間接的に配列の重複排除を実現します。 。

<?php
header("content-type:text/html;charset=utf-8");
$a = array(1, 5, 2, 5, 1, 3, 2, 4, 5);
// 输出原始数组
echo "原始数组 :";
var_dump($a);
// 通过使用翻转键和值移除重复值
$a = array_flip($a);
// 通过再次翻转键和值来恢复数组元素
$a = array_flip($a);
// 重新排序数组键
$a = array_values($a);
// 输出更新后的数组
echo "更新数组 :";
var_dump($a);
?>
ログイン後にコピー

PHPで配列から重複した要素を削除する方法

方法 3: foreach ステートメントを使用して、配列のキー名とキー値の位置を 2 回逆転します

ステップ 1: 2 回反転したキー名とキー値を格納する 2 つの空の配列を定義します

$res1=[];
$res2=[];
ログイン後にコピー

ステップ 2: foreach ステートメントを使用して元の配列を走査し、元の配列のキー名とキー値をキー値とキー名として空の配列に割り当てます#

foreach ($array as $k1 => $v1){  //在每次循环中会将当前数组的值赋给 $v1,键名赋给 $k1
    $res1[$v1]=$k1;
}
ログイン後にコピー

キー名とキー値が反転された配列が得られます

#ステップ 3: foreach ステートメントを使用して反転配列を走査し、反転配列のキー名とキー値をキー値とキー名として別の空の配列に割り当てます

foreach ($res1 as $k2 => $v2){  
    $res2[$v2]=$k2;
}
ログイン後にコピー

実装コード

<?php 
header("content-type:text/html;charset=utf-8");
function f($arr){
	var_dump($arr);
	$res1=[];
	$res2=[];
	foreach($arr as $k1=>$v1){
		$res1[$v1]=$k1;
	}
	foreach ($res1 as $k2 => $v2){  
	    $res2[$v2]=$k2;
	}
	echo "去重后的数组:";
	var_dump($res2);
}

$arr=array(1,2,3,4,5,4,3,2,1,0);
f($arr);
?>
ログイン後にコピー

PHPで配列から重複した要素を削除する方法 推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPで配列から重複した要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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