Dreamweaver TechniqueJAVA Script サンプル | CSS sample | JAVA Applet sample | Flash Sample
HTML4.0 reference | DynamicHTMLXHTML | XML sample | XSLT sample | RIKO's ASP Trial
ASP ADO リファレンス | PHP関数リファレンス | MySQL関数リファレンス

複数の配列の要素の違いを調べる

■ 複数の配列の要素の違いを調べる

array_diff関数は、配列の要素の値どうしを比較して、ある配列の要素の中で他の配列には存在しないものを返します。

配列 = array_diff (配列1, 配列2, [・・・・・・・])

例えば、次のような場合には、配列[$a]にあって配列[$b]にない「2」が返されます。

$a = array(1, 2, 3)
$b = array (1, 3, 5)
$c=array_diff($a, $b)
// 配列の要素を操作するコード

array_diff関数によって返される配列では、元の配列のインデックスが保持されますので、「$c[0] = 2」となることに注意してください。
一方、array_diff_assoc関数は、配列の要素の値だけでなく、インデックスの違いもチェックします。

配列 = array_walk (配列,
               関数名,
               [パラメータ])

例えば、次のような場合には、配列「$a」にあって配列「$b」には存在しない「2」だけではなく、配列「$a」にも配列「$b」にも存在するがインデックスが同一でない「3」も返されます。

$a = array(1, 2, 3);     // 値が「3」の要素のインデックスは「2」
$b = array(1, 3, 5);     // 値が「3」の要素のインデックスは「1」
$c = array_diff_assoc($a, $b)
// $c[1] = 2
// $c[2] = 3   となる

 

<?php
   $a = array("foo", "boo", 1, 2, 3);
   $b = array("foo", "woo", 2, 4, 6);
   $c = array_diff($a, $b);
   $d = array_diff_assoc($a, $b);

   // header("Content-Type: text/plain; charset=EUC-JP");
   echo "[array_diff]\n";
   foreach ($c as $key => $value)
   {
      echo "\$c[{$key}] = {$value}\n";
   }
   echo "\n";

   echo "[array_diff_assoc]\n";
   foreach ($d as $key => $value)
   {
      echo "\$d[{$key}] = {$value}\n";
   }
?>

<戻る

R HOUSE | RIKO's Trial Page | Shirley's Pettit Case | Shirley's i-box | Shirley's little box

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!