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