2011年09月13日に投稿

[PHP]array_diffの挙動について

PHPには2つ以上の配列の差分をとってくれる関数にarray_diffというものがあります。このarray_diffは差分をとれるといってもどのような形で差分をとってくれるのかいまいち想像ができなかったでの実際に比較してその結果を調べました。

下記のサンプルコードを実行した結果、比較対象となる配列に無い要素が配列の形式で返されているのが分かります。

[php]
string(4) “moge” }
*/

/* 比較対象の配列で要素が多い場合 */

$x = array(‘hoge’, ‘sore’, ‘dore’);
$y = array(‘hoge’, ‘moge’, ‘sore’, ‘dore’);

var_dump(array_diff($x, $y));

/*
出力結果:
array(0) { }
*/

/* 要素は一致しているが順番が違う場合 */

$x = array(‘hoge’, ‘moge’, ‘sore’, ‘dore’);
$y = array(‘hoge’, ‘sore’, ‘dore’, ‘moge’);

var_dump(array_diff($x, $y));

/*
出力結果:
array(0) { }
*/

?>
[/php]

関連記事

Leave a Reply