PHP:アレイの一部を削除し、他のアレイを置き換えます.


PHP関数
array_splice
サマリ
アレイの一部を除去し、別のアレイに置き換えます.
関数プロトタイプ
 array_splice ( array &$array , int $offset , int|null $length = null , mixed $replacement = [] ) : array
パラメータ$arrayシナリオを入力します.$offset $offsetが正の値である場合、シーケンスはアレイの対応するオフセットから開始する.
負の値の場合、シーケンスはアレイの最後から開始します.
オフセットパラメータは、キーではなくアレイの位置を表します.$length指定された長さが正の値である場合、シーケンスには長さが等しい要素が含まれます.
アレイが長さより小さい場合は、使用可能なアレイ要素のみが表示されます.
指定された長さが負の場合、シーケンスにはアレイの末尾の長さの要素が含まれます.
省略すると、シーケンスはアレイにオフセットされたすべてのコンテンツを有します.$replacement代替シナリオを指定すると、削除された要素はそのシナリオの要素に置き換えられます.
オフセットと長さが除去されていない場合、置換配列の要素がオフセットで指定された位置に挿入されます.
代替スキームは鍵を保持しません.
要素に置き換えた場合、要素が配列自体、オブジェクト、nullでない場合は、array()または四角カッコで囲む必要はありません.
説明:
PHP 4バージョンから提供されます.
オフセットと長さの要素をアレイから除去し、アレイが使用可能な場合はアレイの要素を置き換えます.
デジタルキーは保持されません.
置換部品がアレイでない場合は、それをアレイに変換します.(ex : (array) $ replacement ).
これにより、オブジェクトまたはnull置換を使用するときに予期せぬ動作が発生します.
抽出要素からなる配列を返します.
バージョン8.0から、lengthnullであってもよい.
例1
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
var_dump($input);

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
var_dump($input);

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
var_dump($input);

$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
var_dump($input);
結果.
array(2) {
  [0]=>
  string(3) "red"
  [1]=>
  string(5) "green"
}
array(2) {
  [0]=>
  string(3) "red"
  [1]=>
  string(6) "yellow"
}
array(2) {
  [0]=>
  string(3) "red"
  [1]=>
  string(6) "orange"
}
array(5) {
  [0]=>
  string(3) "red"
  [1]=>
  string(5) "green"
  [2]=>
  string(4) "blue"
  [3]=>
  string(5) "black"
  [4]=>
  string(6) "maroon"
}
例2
// append two elements to $input
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));

// remove the last element of $input
array_pop($input);
array_splice($input, -1);

// remove the first element of $input
array_shift($input);
array_splice($input, 0, 1);

// insert an element at the start of $input
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));

// replace the value in $input at index $x
$input[$x] = $y; // for arrays where key equals offset
array_splice($input, $x, 1, $y);
リファレンス
https://phpman.ml/array_splice
https://www.php.net/manual/en/function.array-splice.php
Pythonコード
def array_splice(array, offset, length, replacement=None):
    if replacement is None:
        del array[offset: offset + length]
    else:
        array[offset: offset + length] = replacement
    return array
そうかんかんすう
array_merge
array_slice
unset
copyright phpman all right reserved.
インスタントレコーダ uses phpman 's content under contract.
インスタントレコーダで開発依頼を要求する場合は、FAQを参照してください.適切であれば、[email protected]に連絡してください.