我有以下数组
$fieldValues = [
'brand' => 'brand_id',
'mobile' => 'mobile',
'customer' => 'customer_id',
'points_value' => 'points'
];
这是我的字段数组,它应该从键中获取值;
$fields = ['brand','points_value'];
所以,这里的输出应该是。
$fields = ['brand_id','points'];
我可以创建一个函数来将它们转换为值,但只是想检查是否有任何函数可以帮助我?我尝试了array_flicp代码,但运气不好。
我认为没有一个函数能做到这一点。然而,array_flip
和array_intersect_key
的组合可以做到这一点:
$result = array_values(array_intersect_key($fieldValues, array_flip($fields)));
print_r($result);
旁注:如果您想保留密钥,那么只需移除array_values
即可。这只是将结果数组转换为数字索引。
或者只是简单的前臂就足够了:
$result = [];
foreach($fields as $key) {
if(isset($fieldValues[$key])) {
$result[] = $fieldValues[$key];
}
}
print_r($result);