array_splice()
は、配列内の要素のシーケンスを抽出して挿入するために使用されます。
array_splice($array, 0, 0, array_splice($array, -3));
array_splice($array, -3)
配列の最後の3つの要素を除去し、アレイとしてそれを返します。次にarray_splice($array, 0, 0, <that>)
は配列の先頭にその配列を挿入します。
これは、連想配列のキーを保持していないことに注意してください。これは、あなたの例で必要と思われます。そのために、あなたは(OP例に係るケースのように思わとして)array_splice
doesntのは、数字キーを保存することdocumentation notes
function array_rotate($array, $shift) {
if(!is_array($array) || !is_numeric($shift)) {
if(!is_array($array)) error_log(__FUNCTION__.' expects first argument to be array; '.gettype($array).' received.');
if(!is_numeric($shift)) error_log(__FUNCTION__.' expects second argument to be numeric; '.gettype($shift)." `$shift` received.");
return $array;
}
$shift %= count($array); //we won't try to shift more than one array length
if($shift < 0) $shift += count($array);//handle negative shifts as positive
return array_merge(array_slice($array, $shift, NULL, true), array_slice($array, 0, $shift, true));
}
ポップと追加し、これらの3つの項目を一時的な配列にし、それらを付加するために()するarray_unshiftを使用してみてくださいを。 – NoImaginationGuy
ちょうど親切なヒント、このページを読むことができます:[How-To-Ask Guide](https://stackoverflow.com/help/how-to-ask)可能な限り簡単に答えることができます。あなたが抱えている問題を修正するためにあなたがした努力と、それらの修正を試みたときに何が起こったのかを必ず含めてください。あなたのコードやエラーメッセージも忘れないでください! –