簡體   English   中英

如何在PHP中附加到多維數組?

[英]How to append to multidimensional array in PHP?

因此,我正在使用一種API,該API以這種格式(基本上)以JSON格式散布信息:

{"linkId":"1234asdf","clickData"
["member":{"userId":"asdf1234","email":"email@email.com","firstName":"Joe","lastName":"Schmoe"}]},
["member":{"userId":"fdsa4321","email":"liame@liame.com","firstName":"Moreo","lastName":"Hater"}],

-針對電子郵件廣告系列中的每個鏈接。 我想通過嵌套的for循環提取此數據並像這樣組織它:

$linkCount = count($linkArray); //from previous API call

for ($i = 0; $i < $linkCount; $i++) {
    $clickReport[] = //API call here; omitted for brevity
    //parse the JSON here to get $linkid, $url; omitted for brevity
    $memberCount = substr_count($clickReport[$i],'"member":'); //to count number of people listed in JSON response
    for ($j = 0; $j < $memberCount; $j++) {
        //parse the JSON here to get $euid, $fname, $lname, $email; omitted for brevity
        $clickers[] = array (
            $euid[$i] => array (
                'fname' => $fname[$j],
                'lname' => $lname[$j],
                'email' => $email[$j],
                'links' => array (
                        'linkid' => $linkid[$i],
                        'url' => $url[i],
                ),
            ),
        );
    }
}

我遇到的問題是,如果一個成員單擊多個鏈接,則嵌套的for循環將覆蓋以前的'links' => array() 我該如何寫,以便添加 links而不是覆蓋 links

只需單獨追加。

for ($j = 0; $j < $memberCount; $j++) {
    $clickers[] = array(
        $euid[$i] => array(
            'fname' => $fname[$j],
            'lname' => $lname[$j],
            'email' => $email[$j]
        )
    );
    $euid[$i]['links'][] = array (
        'linkid' => $linkid[$i],
        'url' => $url[i],
    );
}

暫無
暫無

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

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