0
我有一個帶有項目ID的PHP頁面。我使用一個類運行一個查詢,並返回一些與這個項目ID關聯的項目的屬性數據集。數據返回下面的對象格式:匹配來自數組對象的值
Array
(
[0] => stdClass Object
(
[id] => 1
[projectID] => 469
[itemID] => item_1
[weight] => 20
[length] => medium
)
[1] => stdClass Object
(
[id] => 2
[projectID] => 469
[itemID] => item_2
[weight] => 50
[length] => medium
)
[2] => stdClass Object
(
[id] => 3
[projectID] => 469
[itemID] => item_4
[weight] => 75
[length] => long
)
)
所以,現在我需要將這些屬性添加到頁面元素。每個頁面元素都有唯一的ID,與返回的數據中的itemID匹配,但我很難弄清楚如何匹配兩者。
<div id="item_2">'.($myarray[1]['itemID'] == 'item_2' ?
$myarray[1]['weight'] : '0').' lb</div>
<div id="item_2">'.($myarray[1]['itemID'] == 'item_2' ?
$myarray[1]['length'] : '0').' ft</div>
<div id="item_3">'.($myarray[2]['itemID'] == 'item_3' ?
$myarray[2]['weight'] : '0').' lb</div>
<div id="item_3">'.($myarray[2]['itemID'] == 'item_3' ?
$myarray[2]['length'] : '0').' ft</div>
如果'itemId'鍵唯一然後做一個循環(或使用array_walk),將經過對象返回數組,將產生陣列由'itemId'索引。然後在索引'$ arr ['item_3']'你將有原始數組的數據,所以你可以例如echo'
我可以在頁面上有一些項目,我認爲這會影響我的加載時間,我是通過循環該數組來匹配每個項目的一組屬性。我希望我可以簡單地做$ myarray ['item_4'] ['weight']但我不能添加頂端節點ID,即$ myarray [2] ['item_4'] ['weight']。有沒有辦法打破這個巨大的對象? – santa
如果您遍歷整個數組ONCE並從原始數組中創建另一個數組,您可以簡單地執行'$ myarray ['item_4'] - > weight'。 – doc