質問: array_splice($source,0,3); このようにコードをベタ打ちすると、$sourceから3つの要素を取り出せて、さらにArrayクラスの最初の3つを削除できます。 挙動結果 https://3v4l.org/e9C3f 2番目と3番目のvar_dumpがどうして異なるのかわかりません。 結論2番目のvar_dumpも3番目と同じにしたいです。 ### 補足情報(言語/FW/ツール等のバージョンなど) PHP5.6
回答: **動くサンプル:** 提示のコードで問題なく動いているように見えます。 なので、「挙動がおかしくなります。」のコードを提示されたほうがよいと思います。 **追記:** こういうことですか? ``` class hoge{ public static function fivehoge(&$array){ return array_splice($array,0,3); } } $source = array(1,2,3,4,5); $user = hoge::fivehoge($source); var_dump($user); // array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } var_dump($source); // array(2) { [0]=> int(4) [1]=> int(5) } ``` **動くサンプル:**