我们来看两个数组:
$aliases = array(
'id' => 'real_id',
'date' => 'real_date',
'name' => 'real_name'
);
$data = array(
'id' => 1,
'name' => 'Lorem ipsum'
);
我想检索$data数组中定义的键的每个$aliases值(无需检查键是否存在,这时我已经使用array_intersect_key()做到了).这是预期的结果:
array('real_id', 'real_name');
目前,我可以使用foreach来做到这一点:
$realkeys = array();
foreach(array_keys($data) as $key) {
$realkeys[] = $aliases[$key];
}
但是,是否有任何本机PHP函数可以更巧妙地做到这一点?
解决方法:
您可以像这样使用PHP的array_intersect_key:
$aliases = array(
'id' => 'real_id',
'date' => 'real_date',
'name' => 'real_name'
);
$data = array(
'id' => 1,
'name' => 'Lorem ipsum'
);
print_r(array_values(array_intersect_key($aliases, $data)));
?>
Array ( [0] => real_id [1] => real_name )
标签:arrays,php
来源: https://codeday.me/bug/20191028/1952115.html