簡體   English   中英

如何在PHP的for循環中使用帶有鍵值的array_push

[英]how to use array_push with key value in a for loop in php

我正在嘗試在php的for循環中使用帶有鍵值對的array_push,但是在那里什么也沒得到,我只得到2個沒有值的鍵,誰能看到我在做什么錯,

任何幫助,將不勝感激。

$totalItems = $dataArray["totalItemsCount"];
$linkNamesTaken = array();
for($i=0; $i<$totalItems; $i++) {
   array_push($linkNamesTaken[$dataArray["data"][$i]["subMediaType"]], $dataArray["data"][$i]["code"]);
}

print_r($linkNamesTaken);

我只會

 [Track] => 
 [Album] => 

我期待類似的東西

[Track] => LSD-ThundercloudswithSiaDiploLabrinth-Single
[Album] => DuaLipa-ElectricitywithDuaLipa-Album

dataArray包含如下數據

{"totalItemsCount": 7,
 "data": [
    {
        "id": "366eff50-d6e2-4038-a091-4b84849c7e9e",
        "url": "https://APItestboard.lnk.to/GeorgeEzra-Shotgun-Single",
        "code": "GeorgeEzra-Shotgun-Single",
        "subMediaType": "Track"
    },
   ... 6 more items here like above

 ]
}

也許您正在尋找這樣的東西?

$totalItems = $dataArray["totalItemsCount"];
$linkNamesTaken = array();
foreach($totalItems as $key => $value) {
   foreach($value['data'] as $key2 => $value2) {
       $linkNamesTaken[]['subMediaType'] = $value2['subMediaType'];
       $linkNamesTaken[]['code'] = $value2['code'];
   }
}

在這里,您在linkNamesTaken數組中使用鍵將subMediaType和值作為code

$linkNamesTaken = array();
foreach($dataArray['data'] as $k1 => $v1) { //7 loop on key value pair
      $linkNamesTaken[$v1['subMediaType']] = $v1['code']; // hopefully key value should be unique.
}

print_r($linkNamesTaken);

O / P

Array
(
    [Track] => GeorgeEzra-Shotgun-Single
    [New Track] => GeorgeEzra-Shotgun-Double
)

編輯 :請參閱http://php.net/manual/zh/function.array-push.php#108118

暫無
暫無

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

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