我試着用array_push(),但是我得到了致命錯誤。在PHP中添加新值到數組的起始位置
function get_data($table, $id = '', $condition){
if($id != '')
array_push(" WHERE `id` = '".$id."' ", $condition);
...
}
問題是,如何將一個值(在我的情況下是字符串)添加到數組的開始?
我試着用array_push(),但是我得到了致命錯誤。在PHP中添加新值到數組的起始位置
function get_data($table, $id = '', $condition){
if($id != '')
array_push(" WHERE `id` = '".$id."' ", $condition);
...
}
問題是,如何將一個值(在我的情況下是字符串)添加到數組的開始?
array_unshift()
是你正在尋找的功能!
array_unshift - 前置一個或多個元素添加到數組的開始
$arr = array(1,2,3);
print_r($arr);
/*
Array
(
[0] => 1
[1] => 2
[2] => 3
)
*/
array_unshift($arr,0);
print_r($arr);
/*
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
)
*/
致命錯誤是因爲你必須以相反的順序的參數:
function get_data($table, $id = '', $condition){
if($id != '')
array_push($condition, " WHERE `id` = '".$id."' ");
...
}
if $ condition是一個數組,這不會產生致命錯誤,但它會將該項目放置在陣列的末端處。正如其他答案中所提到的那樣,array_unshift是預先添加項目的函數。
array_unshift應該做的伎倆
注意與array_unshift,參數將需要你有什麼(只是作爲一個array_push)逆轉 –
這是關於該OP具有以相反的順序參數(事實這是致命錯誤的原因);只是希望OP注意到這個參數順序很重要:-) –
哦:)對!是的 - 我現在也看到了你的答案...... – Lix