簡體   English   中英

添加到多維關聯數組(在PHP中)

[英]Adding to a multidimensional associative array (in PHP)

我通過PDO返回具有以下結構的關聯數組:

Array
(
    [0] => Array
        (
            [pesttopicID] => 42
            [sPestName] => CMSM Trap Surveying and Pest Management
            [quizID] => 609
            [bTier1] => 1
            [sDesc] => Workshop assessment
        )

    [1] => Array
        (
            [pesttopicID] => 34
            [sPestName] => Trap Surveyor
            [quizID] => 451
            [bTier1] => 1
            [sDesc] => Competency for CM OAP
        )
)

我想將鍵值對添加到“內部”數組,但是我嘗試使用發布的解決方案來解決添加到關聯數組的一般問題。

:
$results = $statement->fetchAll(PDO::FETCH_ASSOC);
$newkey='myNewKey';
$newval='myNewValue';
foreach($results as $row){
  $results[][$newkey] = $newval;
  foreach ($row as $key=>$value){
    ... some reporting stuff
    }
}

...導致該對被添加到“外部”數組,例如

Array
(
    [0] => Array <---- I want the new pair in this "inner" array
        (  
            [pesttopicID] => 42
            [sPestName] => CMSM Trap Surveying and Pest Management
            [quizID] => 609
            [bTier1] => 1
            [sDesc] => Workshop assessment
        )

    [1] => Array  <---- I want the new pair in this "inner" array
        (  
            [pesttopicID] => 34
            [sPestName] => Trap Surveyor
            [quizID] => 451
            [bTier1] => 1
            [sDesc] => Competency for CM OAP
        )

    [2] => Array
        (
            [myNewKey] => myNewValue
        )
)

這可能嗎?

謝謝/湯姆

您必須像下面這樣:

$newkey='myNewKey';
$newval='myNewValue';
foreach($results as &$row){ //use reference variable 
  $row[$newkey] = $newval;// remove the second  foreach if not necessary
  //if second foreach is necessary then add it no problem
}

輸出: -https : //eval.in/856983

或者您也可以這樣:-

$newkey='myNewKey';
$newval='myNewValue';
foreach($results as $key=>$row){ //use key now 
  $results[$key][$newkey] = $newval;// remove the second  foreach if not necessary
  //if second foreach is necessary then add it no problem
}

輸出: -https : //eval.in/856987

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM