我想设置一个默认键和值的关联数组(array1); 如果提供了一个数组(array2),那么来自array1的所有索引都将被密钥匹配的array2覆盖。 array2中的任何其他键都不会添加到array1。
一种解决方案是运行循环并像这样执行$('#txtpass').on('input', function() {
var shouldShowAlert = ($(this).val().length < 6);
$("#passAlert").toggle(shouldShowAlert);
});
。
array_key_exists
但是有没有这样做的PHP功能?
我试过的功能已经不能给我想要的结果了。
$new_array = $array1;
foreach ($array2 as $key => $value) {
if(array_key_exists($key, $array1)){
$new_array[$key] = $value; //overwrite default value
} else {
// new key, dont add
}
}
我正在寻找的结果将是
$array1 = array(
'one' =>'one',
'two' => 'two',
'three' => 'three',
'four' => 'four'
);
$array2 = array(
'two' => '2',
'four' => '4',
'six' => '6',
);
var_dump($array1+$array2);
array (size=5)
'one' => string 'one' (length=3)
'two' => string 'two' (length=3)
'three' => string 'three' (length=5)
'four' => string 'four' (length=4)
'six' => string '6' (length=1)
var_dump(array_merge($array1,$array2));
array (size=5)
'one' => string 'one' (length=3)
'two' => string '2' (length=1)
'three' => string 'three' (length=5)
'four' => string '4' (length=1)
'six' => string '6' (length=1)
var_dump(array_replace($array1,$array2));
array (size=5)
'one' => string 'one' (length=3)
'two' => string '2' (length=1)
'three' => string 'three' (length=5)
'four' => string '4' (length=1)
'six' => string '6' (length=1)
答案 0 :(得分:4)
从第二个数组键获取,在第一个中显示,并替换第一个
中的值var phantom = require('phantom');
phantom.create(function(ph) {
ph.createPage(function(page) {
page.open('https://www.facebook.com/login.php',
function(status) {
console.log('Opened site? %s', status);
page.render("page.png");
if (status !== 'success')
{
console.log('FAIL to load the address');
}
else
{
console.log('Success in fetching the page');
another_funny(page, ph);
ph.exit();
}
});
});
}, {parameters:{'ssl-protocol':'any'}} );
function another_funny(page, ph) {
console.log("like page");
}