array_splice 関数の結果の割り当て
$arr1 = array(1,2,3);
$arr2 = array(3,4,5);
$arr1 = array_splice($arr2,1,1);
print_r($arr1);
結果は Array ( [0] => 4 ) です
論理的に言えば、代入演算子は array_splice 関数が次の時点で完了した後に実行されます。 end,
array_splice($arr2,1,1) で取得した配列 $arr2 の値は (3,4) になるはずです。
次に「=」を演算すると、配列 $arr1 の内容は ( 3,4) ですが、実際には
$arr1 = array_splice($arr2,1,1) 全体を実行すると、$arr1 配列の内容が (4) として取得され、それを解決します。
------解決策のアイデア----------------------
マニュアルの数字は非常に明確です: 削除されたユニットを含む配列
を返します。戻り結果だけから見ると、array_splice($arr2,1,1) は array_slice($arr2,1,1)
と同等ですが、前者は $arr2 と変更されています。状態