PHP 中按键名项目关联数组
有没有任何php函数可以做到这一点:
$source = array('id1'=>'name', 'id2'=>'name2', 'id3'=>'name3');
$keys = array('id1', 'id3');
$projection = project($source, $keys);
我想要:
$projection = array('name', 'name3');
我搜索了标准数组函数很长时间,但找不到任何东西。
Are there any php function that do this:
$source = array('id1'=>'name', 'id2'=>'name2', 'id3'=>'name3');
$keys = array('id1', 'id3');
$projection = project($source, $keys);
I want:
$projection = array('name', 'name3');
I searched the standard array functions for a long time and I could not find anything.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看起来我应该更仔细地看看 - 技巧是使用这个函数:
但是,它很丑陋,因为你需要执行 array_flip。
Looks like I should look harder - the trick is to use this function:
However, it is ugly because you need to do an array_flip.
不是这样的。您可以使用以下命令更接近您尝试执行的操作:
或者:
但是,如果给定项目在键数组中出现两次,则这将不起作用。
如果您可以访问 PHP 5.3,则可以使用闭包:
Not as such. You could get closer to what you're trying to do using:
Or:
However, this will not work if a given item appears twice in the key array.
If you have access to PHP 5.3, you can use a closure: