这是数据
$array = array(
'random' => 1,
'pewpew' => 2,
'temp' => 5,
'xoxo' => 3,
'qweqweqe' => 4,
);
$fields = array('random', 'xoxo', 'temp');
Run Code Online (Sandbox Code Playgroud)
我需要得到结果:
$result = array(
'random' => 1,
'xoxo' => 3,
'temp' => 5,
);
Run Code Online (Sandbox Code Playgroud)
我的意思是来自$ fields的密钥存在/订单适用于$ array.
问题是:我是否可以仅使用array_函数执行此转换?(我不想使用迭代)如果是:你可以链接我需要的功能吗?
(对不起拼写错误)
UPD.
PHP 5.2
$result=array_intersect_key($array ,array_flip($fields) );
Run Code Online (Sandbox Code Playgroud)
此代码保留顺序并根据需要在 PHP 5.2 中工作
一条线:
$result = array_merge( array_flip($fields),
array_intersect_key(
$array,
array_flip( $fields )
)
);
Run Code Online (Sandbox Code Playgroud)
对于性能:
$flip = array_flip($fields);
$result = array_merge( $flip
array_intersect_key(
$array,
$flip
)
);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
736 次 |
最近记录: |