php array_diff_key 使用键名比较计算数组的差集

<p >array_diff_key<br /> (PHP 5 &gt;= 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 >&lt;?php<br /> $array1 = array('blue' =&gt; 1, 'red' =&gt; 2, 'green' =&gt; 3, 'purple' =&gt; 4);<br /> $array2 = array('green' =&gt; 5, 'blue' =&gt; 6, 'yellow' =&gt; 7, 'cyan' =&gt; 8);</p> <p >var_dump(array_diff_key($array1, $array2));<br /> ?&gt;<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 &lt; 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 =&gt; $valueData)<br /> {<br /> for ($i = 1; $i &lt; $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>
RangeTime:0.007734s
RangeMem:205.34 KB
返回顶部 留言