如何從關聯數組中提取元素?關聯數組中的提取元素
$array = array(
"smart" => "dog",
"stupid" => "cat",
"nasty" => "frog",
"big" => "elephant"
);
我需要刪除鍵「討厭」的元素,以推動它在數組的末尾。我不知道數組中元素的索引。我怎樣才能做到這一點? (我使用第一,第二,第三,但鍵的名稱是不同的,並沒有被邏輯索引!我需要通過它的鍵刪除元素)。
如何從關聯數組中提取元素?關聯數組中的提取元素
$array = array(
"smart" => "dog",
"stupid" => "cat",
"nasty" => "frog",
"big" => "elephant"
);
我需要刪除鍵「討厭」的元素,以推動它在數組的末尾。我不知道數組中元素的索引。我怎樣才能做到這一點? (我使用第一,第二,第三,但鍵的名稱是不同的,並沒有被邏輯索引!我需要通過它的鍵刪除元素)。
嘗試:
$array = array(
"first" => "un",
"second" => "dos",
"third" => "tres"
);
$second = $array['second'];
unset($array['second']);
$array['second'] = $second;
輸出:
array(3) {
["first"]=>
string(2) "un"
["third"]=>
string(4) "tres"
["second"]=>
string(3) "dos"
}
編輯
$array = array(
"first" => "un",
"second" => "dos",
"third" => "tres"
);
$output = array();
$order = array('first', 'third', 'second');
foreach ($order as $key) {
if (isset($output[$key])) {
$output[$key] = $array[$key];
}
}
有趣!但是我有35個字段需要排序......我將這個函數放在一個函數中,每個元素只使用一行。 –
我會發布第二種方式來做到這一點。 – hsz
鍵名並不意味着這種順序。現在看看這個例子!無論如何感謝您的幫助,我試圖把第一種方法放在一個函數中,但它似乎不起作用。 –
什麼?
$array = array(
"smart" => "dog",
"stupid" => "cat",
"nasty" => "frog",
"big" => "elephant"
);
$array += array_splice($array, array_search('nasty', array_keys($array)), 1);
print_r($array);
關聯數組並沒有真正的「結束」。你確定這對於一個非關聯數組不是更好嗎? – aroth
*(reference)* http://php.net/manual/en/language.types.array.php – Gordon
現在觀看示例:我需要按特定順序推送元素,因爲我使用json_encode打印數組。 –