PHP的array_slice與array_splice差別
Contents
回傳值
array_slice
回傳是提取出來陣列
array_splice
回傳是提取出來陣列
看來return 出來東西都是一樣
帶進度array參數
array array_slice
( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = FALSE ]] )array array_splice
( array&
$input , int $offset [, int $length = count($input) [, mixed $replacement = array() ]] )
會發現上面兩者回傳都一樣,但帶進去陣列參數執行結果不一樣
array_splice大致上跟JavaScript的splice一樣
結論
兩者最大不同是一個call by reference一個call by value
怎麼看呢?看文件上面有個&
PHP Object好像也是call by reference(address)
參考來源:
- php - why array_slice() and array_splice() doing the same? - Stack Overflow
- PHP: how to ‘cut’ my array? - Stack Overflow
- PHP: Objects and references - Manual
- 10件在PHP7中不要做的事情 | 程序师