我有一个带有项目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>
答案 0 :(得分:1)
假设item_id
个键是唯一的,此代码会创建从原始数组中item_id
索引的数组。
$newArr = array();
//create reindexed array based on data from original array ($orgArr)
array_walk($orgArr, function($v) use (& $newArr) { $newArr[$v->item_id] = $v; } );
然后您可以通过以下方式访问各个属性。
echo $newArr['item_1']->weight;
echo $newArr['item_2']->length;