在php中对数组进行排序,将两个值合并在一起


sort array in php, merging two values together

我有一段时间以来的以下数组($x=mysql_fetch_assoc…):

Array ( [item_id] => 1 [item_name] => name [foo] => bar ) 

我该如何修改数组以使其返回我:

Array ( [item_id] => 1 [item_name] => name - bar ) 
$array['item_name'] = "{$array['item_name']} - {$array['foo']}";
unset($array['foo']);

或者

$array = array(
  'item_id' => $array['item_id'],
  'item_name' => "{$array['item_name']} - {$array['foo']}"
);

如果你总是想合并[item_name]和[foo]值,那么很容易:

$result = array_map(function($item) {
    return array(
        'item_id' => $item['item_id'],
        'item_name' => $item['item_name'] . ' - ' . $item['foo'],
    );
}, $input);