一段简短的代码,用于获取一个数组,该数组在php中从一个数组获取键,从另一个数组获取值
有没有一种简洁的方法可以使数组的键来自第一个数组,值来自第二个数组,并丢弃第二个数组中第一个数组中没有对应键的任何项?例如,如果:一段简短的代码,用于获取一个数组,该数组在php中从一个数组获取键,从另一个数组获取值,php,arrays,Php,Arrays,有没有一种简洁的方法可以使数组的键来自第一个数组,值来自第二个数组,并丢弃第二个数组中第一个数组中没有对应键的任何项?例如,如果: $keys = array('key1'=>1,'key2'=>2,'key3'=>3); $vals = array('key1'=>'val1', 'key4'=>'val4'); 结果将是: $result=array('key1'=>'val1' , 'key2'=>2 , 'key3'=>3); 目
$keys = array('key1'=>1,'key2'=>2,'key3'=>3);
$vals = array('key1'=>'val1', 'key4'=>'val4');
结果将是:
$result=array('key1'=>'val1' , 'key2'=>2 , 'key3'=>3);
目前,我正在使用以下两行:
$result = array_intersect_key($vals, $keys);
$result = array_merge($vals, $result);
有没有更干净的方法可以做到这一点?你现在做得很正确。要减少行数,可以通过重新分配$result变量
$result = array_merge($vals, array_intersect_key($vals, $keys));
两者的元素数相同?@sgtBOSE否,第二个数组VAL未知。您的代码有什么问题?代码没有问题。在这种情况下,您不能使用1;