PHPの複数配列の和集合、積集合、差分演算関数のまとめ

WBOY
リリース: 2016-06-20 13:01:49
オリジナル
2730 人が閲覧しました

php には本当に多くの配列関数があります。実際の作業では、php 自体に存在するいくつかの関数について詳しく知ることで、作業の速度が大幅に向上します。

php で 2 つ以上の配列の和集合、積集合、差分を処理する方法。

(1) PHP は 2 つ以上の配列の和集合を計算します

和集合は、2 つ以上の配列を 1 つの配列に結合した結果セットです。 PHP では、配列をマージするために通常、array_merge と + が使用されます。

(2) PHP は 2 つ以上の配列の交差を計算します

交差は、2 つ以上の配列に存在するデータの部分のコレクションです。配列の交差の計算には、主に次のような array_intersect システムの関数が使用されます。

array_intersect ( $arr , $arr2[……]) 配列 $arr と他の配列の交差とキーを返します。名前は変更されません。

array_intersect_assoc( $arr, $arr2[……]) 返回一个数组 $arr 与其他数组的交集,同时比较键名,索引不变。
array_intersect_uassoc( $arr , $arr2 [……] , 'cmp_function ') 带索引检查数组的交集,用回调函数,比较索引。
array_intersect_key ( $arr ,$arr2 [……] ) 使用键名比较计算数组的交集。

array_intersect_ukey( $arr , $arr2 [……],'cmp_function'); 用回调函数比较键名来计算数组的交集。

array_uintersect ( $arr , $arr2 [……] , 'cmp_function' ) 比较数组中的交集 用回调函数比较数据。

array_uintersect_assoc( $arr, $arr2[……] , 'cmp_function') 带索引检查数组的交集 用回调函数比较数据。

array_uintersect_uassoc($arr , $arr2 [……] , 'cmp_function' ) 带索引检查数组的交集 , 用回调函数比较数据和索引。

array_intersect 示例如下:

$array1=array('a'=>'green','red','blue');

$array2=array('b'=>'green','yellow','red');

$result=array_intersect($array1,$array2);

$result 的结果将为:

Array

(
[a]=>green
[0]=>red

)

ログイン後にコピー

(3) PHP は 2 つ以上の配列の差分集合を計算します。

差分集合は、データの共通部分を除いた部分の集合です。配列の差分セットの計算には、以下に示すように、主に array_diff システムの関数が使用されます:

array_diff( $arr , $arr2[……] ) 返回一个数组,该数组包括了所有在$arr1 但是不在任何其他参数数组中的值,键名不变。

array_diff_uassoc( $arr ,$arr2 ,[……] , 'cmp_function') 用回调函数做索引比较数组中的差集。

array_diff_assoc( $arr , $arr2[……] ) 返回一个数组,$arr 与其他数组的差集,同时比较键名,索引不变。

array_udiff ( $arr , $arr2 [……] , 'cmp_function') 用回调函数比较数据来计算数组的差集。

array_udiff_uassoc ( $arr ,$arr2 ,[……] , 'cmp_function') 带索引检查数组的差集,用回调函数比较数据和索引。

array_udiff_assoc ( $arr ,$arr2 ,[……] , 'cmp_function') 带索引检查数组的差集,用回调函数比较数据,键名也比较。

array_diff 示例如下:

$array1=array('a'=>'green','red','blue','red');

$array2=array('b'=>'green','yellow','red');

$result=array_diff($array1,$array2);

$result 的结果将为:array(1=>'blue')

ログイン後にコピー


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!