如何通过键简化子数组的get数组代码

时间:2018-01-23 09:47:04

标签: php function default

是否有一些与此代码等效的php函数?

$pairs = [['id' => 1, 'pairType' => 2], ['id' => 2, 'pairType' => 2], ['id' => 3,'pairType' => 3]];

$tmp = some_php_function($pairs, 'pairType');

在tmp中将是

$tmp = [ 2 => [1, 2], 3 => [3]]

我使用了这段代码

foreach ($pairs as $pair) {
        $tmp[$pair['pairType']][] = $pair['id'];
    }

但是我希望php会有一些默认功能。感谢

1 个答案:

答案 0 :(得分:0)

没有内置功能,但您可以使用以下逻辑创建自己的功能:

$pairs = [['id' => 1, 'pairType' => 2], ['id' => 2, 'pairType' => 2], ['id' => 3, 'pairType' => 3]];

$temp = [];

foreach($pairs as $v)
    {
    if (!isset($temp[$v['pairType']]))
        {
        $temp[$v['pairType']] = [];
        }

    array_push($temp[$v['pairType']], $v['id']);
    }

var_dump($temp);