PHP转换数组包括键重命名

时间:2015-06-12 11:53:22

标签: php arrays key

我需要从$_POST['tags']输出

转换此PHP数组
$_POST = array('title' => 'apple','content' => 'fruit', 'tags' => array(0 => 1, 1 => 2, 2 => 11, 3 => 13));

我需要转换此部分

[tags] => Array ( [0] => 1 [1] => 2 [2] => 11 [3] => 13 ) )

采用以下格式,然后将其推回$_POST['tags']

[tags] => Array ( [0] => Array ( [tag_id] => 1 ) [1] => Array ( [tag_id] => 2 ) [2] => Array ( [tag_id] => 11 ) [3] => Array ( [tag_id] => 13 )

我已经尝试但它没有工作......

$returnArray['tags'] = array();
foreach($_POST['tags'] as $t)
{
    $tags = array();
    $tags['tag_id'] = $t['tag_id'];
    array_push($returnArray['tags'], $tags);
}
unset($_POST['tags']);
$_POST['tags'] = array();
array_push($_POST['tags'] , $returnArray);

im on PHP Version 5.2.17

2 个答案:

答案 0 :(得分:0)

使用array_map并指定key -

$new = array_map(function($v) {
    return array('tag_id' => $v);
}, $_POST['tags']);

答案 1 :(得分:0)

你几乎拥有它

$returnArray['tags'] = array();
foreach($_POST['tags'] as $t)
{
    $tags = array();
    $tags['tag_id'] = $t;
    array_push($returnArray['tags'], $tags);
}
$_POST['tags'] = $returnArray;