在关联数组中创建新键并向其中添加值

时间:2012-03-31 04:56:19

标签: php codeigniter

我有和关联的数组看起来像这样:

array(225) {
  [0]=>
  array(3) {
    ["id"]=>
    string(1) "1"
    ["firstname"]=>
    string(2) "me"
    ["lastname"]=>
    string(2) "ab"
  [1]=>
  array(3) {
    ["id"]=>
    string(1) "2"
    ["firstname"]=>
    string(3) "you"
    ["lastname"]=>
    string(2) "bc"

您可能所有元素的结构都相同。我想要做的是在嵌套数组中创建动态新键,如下所示:

array(225) {
      [0]=>
      array(4) {
        ["id"]=>
        string(1) "1"
        ["firstname"]=>
        string(2) "me"
        ["lastname"]=>
        string(2) "ab"
        ["newKey"]=>
        string() "1,2,3,....n" 
      [1]=>
      array(3) {
        ["id"]=>
        string(1) "2"
        ["firstname"]=>
        string(3) "you"
        ["lastname"]=>
        string(2) "bc"
        ["newKey"]=>
        string() "1,2,3,....x" 

我希望使用key [“newKey”]向该值添加新记录,但是在某种方式中旧值不会被删除但如上所示 - 我们用逗号分隔每个新值。

我尝试了array_push和其他一些事情,但无法得到我想要的确切结果。

1 个答案:

答案 0 :(得分:3)

我不知道这是不是你想要的,但看起来像这样的东西可能会成功:

function addField(array &$aData, $newVal)
{
    foreach($aData as $aUnit)
        if(array_key_exists('newKey', $aUnit))
            $aUnit['newKey'] .= ",$newVal";
        else
            $aUnit['newKey'] = '1';
}

如果你想要扩展的话,请告诉我,如果它还不足以让你滚动。