<p >array_diff_key<br />
(PHP 5 >= 5.1.0RC1)</p>
<p >array_diff_key -- 使用键名比较计算数组的差集<br />
说明<br />
array array_diff_key ( array array1, array array2 [, array ...] )</p>
<p ><br />
array_diff_key() 返回一个数组,该数组包括了所有出现在 array1 中但是未出现在任何其它参数数组中的键名的值。注意关联关系保留不变。本函数和 array_diff() 相同只除了比较是根据键名而不是值来进行的。</p>
<p >例子 1. array_diff_key() 例子</p>
<p ><?php<br />
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);<br />
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);</p>
<p >var_dump(array_diff_key($array1, $array2));<br />
?><span class="Apple-converted-space"></span><br />
</p>
<p ></p>
<p ></p>
<p >if (!function_exists('array_diff_key'))<br />
{<br />
function array_diff_key()<br />
{<br />
$argCount = func_num_args();<br />
$argValues = func_get_args();<br />
$valuesDiff = array();<br />
if ($argCount < 2)<br />
{<br />
return false;<br />
}<br />
foreach ($argValues as $argParam)<br />
{<br />
if (!is_array($argParam))<br />
{<br />
return false;<br />
}<br />
}<br />
foreach ($argValues[0] as $valueKey => $valueData)<br />
{<br />
for ($i = 1; $i < $argCount; $i++)<br />
{<br />
if (isset($argValues[$i][$valueKey]))<br />
{<br />
continue 2;<br />
}<br />
}<br />
$valuesDiff[$valueKey] = $valueData;<br />
}<br />
return $valuesDiff;<br />
}<br />
}</p>
<p ></p>