将数组特定的值分离到另一个数组的正确方法


Right way to separate array specific values into another arrays

在我的应用程序中有以下array:

array (
    [item_name_1] => GTA V
    [item_quantity_1] => 4
    [item_price_1] => 5990
    [item_name_2] => Watch_Dogs
    [item_quantity_2] => 1
    [item_price_2] => 5990
)

我想把这个array分成两部分,像这样:

array (
    [item_name_1] => GTA V
    [item_quantity_1] => 4
    [item_price_1] => 5990
)
array (
    [item_name_2] => Watch_Dogs
    [item_quantity_2] => 1
    [item_price_2] => 5990
)

如果你没有意识到,我想把以1和2为后缀的项分开& & &;依次为& & dash;到不同的矩阵,我真的不知道最好的方法来做这个。也许正则表达式?

我已经尝试了explode()implode(),但没有成功–我没有足够的创造力去发掘自己最好的一面。

<?php
$src = array (
    'item_name_1' => 'GTA V',
    'item_quantity_1' => 4,
    'item_price_1' => 5990,
    'item_name_2' => 'Watch_Dogs',
    'item_quantity_2' => 1,
    'item_price_2' => 5990,
);
$dest = array();
foreach($src as $k => $v) {
  $sfx = preg_replace('/.*?_([0-9]+)$/', '$1',$k);
  $dest[$sfx][$k] = $v;
}
print_r($dest);