PHPリファレンス(逆引き)

PHPリファレンス
 
配列の差分を取得する(array_diff())
スポンサードリンク

配列の差分を取得するには、array_diff()関数を使います。
array_diff()関数が値のみの比較に対して、array_diff_assoc()関数はキーと
値の両方をそれぞれ比較します。

array_diff( 配列1, 配列2, [,配列3...]) 指定した配列の差分を取得する。
差分データは、配列1の異なる要素が返されます。
差分が無い場合、空の配列が返されます。

例1) 配列「$str1」と配列「$str2」の差分を取得する。

<?php
$str1 = array("key1"=>"aa","key2"=>"bb","key3"=>"cc");
$str2 = array("key1"=>"aa","key2"=>"xx","key3"=>"xx");

var_dump( array_diff($str1,$str2));
?>

●実行結果
array(2) {
 ["key2"]=>
 string(2) "bb"
 ["key3"]=>
 string(2) "cc"
}


例2) 配列「$str1」と配列「$str2」の差分を取得する。

<?php
$str1 = array("key1"=>"aa","key2"=>"bb","key3"=>"cc");
$str2 = array("key1"=>"aa","key3"=>"bb","key2"=>"cc");

var_dump( array_diff($str1,$str2));
?>

●実行結果
array(0) {
}

※配列に格納されている順番で比較するのでキーの違い関係ない。

例3) )配列「$str1」と配列「$str2」の差分を取得する。

<?php
$str1 = array("key1"=>"10","key2"=>"20");
$str2 = array("key1"=>10,"key2"=>20);

var_dump( array_diff($str1,$str2));
?>

●実効結果
array(0) {
}

※上記例のように型の違いは無視される。


スポンサード リンク


配列サイズを取得する( count()、sizeof() )
指定した値の配列存在チェック( in_array()、array_search() )
指定した配列の値に対応するキーを取得する( array_keys() )
配列の差分を取得する( array_diff() )
配列の差分を取得する( array_diff_assoc() )
配列の値を全て取得する( array_values() )
配列の指定した位置から要素(キーと値)を取得する( array_slice() )
配列の最後に値を追加する( array_push() )
配列の最後の値を取得する( array_pop() )
配列の先頭に値を追加する( array_unshift() )
配列の指定した位置に値を挿入する( array_splice() )
配列の指定した位置から指定要素数分、置換する( array_splice() )
配列の指定した位置から指定要素数分、要素を削除する( array_splice() )
配列内の重複した値を削除する( array_unique() )
配列の値を全て連結する( implode() )
複数の配列を連結する( array_merge() )
配列に初期値を指定して生成する( array_fill() )
配列に初期値を指定して生成する( range() )
配列の要素の合計を取得する( array_sum() )
配列から条件に合う要素を取得する( array_filter() )
配列の全ての要素を処理する( array_map() )
配列の値をソートする( sort()、rsort() )
配列の値をソートする( asort()、arsort() )

基本API2へ
忘れっぽいエンジニアのPHPリファレンス TOPへ