2012-04-11 25 views
2

在php中是否有內置的函數,它將一個元素前置到一個數組中,並返回新的數組?Array_unshift像返回數組的函數

而不是返回數組的新長度?

+1

使用數組變量仍然傳遞給'array_unshift'有什麼問題? – 2012-04-11 12:27:50

+0

Array unshift編輯原始數組,然後返回它的大小。您稍後可以使用'print_r($ var_arr)'來獲取數組。 – hjpotter92 2012-04-11 12:28:05

+0

@TheJumpingFrog no,'print_r'不適用於「正在獲取數組」,用於打印 – 2012-04-11 12:32:13

回答

3

你可以使用

array_merge() 

例如

$resultingArray = array_merge(array($newElement), $originalArray); 
2

有沒有內置在其中做的,但它足夠簡單的把它包起來:

function my_unshift($array, $var) { 
    array_unshift($array, $var); 
    return $array; 
} 

這是沒有必要的,但因爲array_unshift()上的數組引用所以原來在地方被修改工作。 array_push(), array_pop(), array_shift()所有也對一個參考進行操作。

$arr = array(1,2,3); 
array_unshift($arr, 0); 

// No need for return. $arr has been modified  
print_arr($arr); 
Array 
(
    [0] => 0 
    [1] => 1 
    [2] => 2 
    [3] => 3 
) 
3

下一步array_merge,如果沒有任何重複鍵,你可以這樣做:

$array = array('a' => 'A'); 
$append = array('b' => 'hello'); 
$array = $append + $array; 

授予:

Array 
(
    [b] => hello 
    [a] => A 
) 

加號是array union operator­Docs