[英]Adding an extra row to a PHP array with new values
我有一個名為$ items的數組。 我的CMS用三個產品創建了這個數組,我只是用下面的結果做了一個var_dump。
array(3) { [0]=> array(11) { ["item_id"]=> string(4) "1320" ["name"]=> string(5) "ITEM_A" ["price"]=> string(6) "$5.00" }
[1]=> array(11) { ["item_id"]=> string(4) "1321" ["name"]=> string(5) "ITEM_B" ["price"]=> string(6) "$5.00" }
[2]=> array(11) { ["item_id"]=> string(4) "1323" ["name"]=> string(5) "ITEM_D" ["price"]=> string(6) "$5.00" }
}
有沒有辦法將另一個項目“ ITEM_C”注入此數組,以便現在
array(3) { [0]=> array(11) { ["item_id"]=> string(4) "1320" ["name"]=> string(5) "ITEM_A" ["price"]=> string(6) "$5.00" }
[1]=> array(11) { ["item_id"]=> string(4) "1321" ["name"]=> string(5) "ITEM_B" ["price"]=> string(6) "$5.00" }
[2]=> array(11) { ["item_id"]=> string(4) "1323" ["name"]=> string(5) "ITEM_D" ["price"]=> string(6) "$5.00" }
[3]=> array(11) { ["item_id"]=> string(4) "1322" ["name"]=> string(5) "ITEM_C" ["price"]=> string(6) "$5.00" }
}
然后按“名稱”排序? 我基本上想總是向該數組添加一個新行,該行將始終具有不同的名稱,然后按名稱對其進行排序。 當我執行foreach php命令時,我不希望它的順序為ITEM_A,ITEM_B,ITEM_D,ITEM_C。 它必須是ITEM_A,ITEM_B,ITEM_C,ITEM_D。
在PHP中附加到數組很容易,例如$array[]
:
$myArray = array(1,2,3);
$myArray[] = 4; //now array(1,2,3,4)
因此,要添加到現有數組中,請首先創建新的數組元素
$element = array("item_id" => 1322, "name" => "ITEM_C", /*etc.*/);
然后將其添加到您的數組
$myArray[] = $element;
至於排序,取決於您的確切需求,有各種排序功能 。 由於您要根據給定的數組鍵進行排序,因此可能需要使用給定的函數調用usort
。
function nameCompare($a, $b)
{
$a = $a["name"];
$b = $b["name"];
return strcmp($a, $b);
}
usort($myArray, 'nameCompare');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.