关键字的isset
工作速度比函数快array_key_exists
。如果您不必从NULL中区分Undefined
,则
应该使用。isset
数组键存在:
array_key_exists($key,$array);
伊塞特:
isset($array[$key]);
在 Ideone 上测试:http:
//ideone.com/m1Do1d
为了防止重复的键被推入 $array,它使用以下代码:
<?php
$array = json_decode('[{"1234567":1368356071}]', true);
$array2 = array(array(1234567 => time()), array(7654321 => time()));
var_dump(
'$array (before)', $array,
'$array2', $array2
);
foreach ($array2 as $item2) {
foreach ($array as $item) {
if (isset($item[key($item2)])) {
continue 2;
}
}
$array[] = $item2;
}
var_dump(
'$array (after)', $array
);
结果:
string(15) "$array (before)"
array(1) {
[0]=>
array(1) {
[1234567]=>
int(1368356071)
}
}
string(7) "$array2"
array(2) {
[0]=>
array(1) {
[1234567]=>
int(1368650316)
}
[1]=>
array(1) {
[7654321]=>
int(1368650316)
}
}
string(14) "$array (after)"
array(2) {
[0]=>
array(1) {
[1234567]=>
int(1368356071)
}
[1]=>
array(1) {
[7654321]=>
int(1368650316)
}
}