PHP中array_sliceとarray_splice

2221 ワード

sliceとspliceの英語の意味
sliceはスライスします.カット;分割spliceせん断
だからPHPの文法の中で、以下の意味があります
array_sliceは配列で選択する部分を返す.array_spliceは配列で指定する要素を削除して置換する.
上コード(//後は出力の内容)
array_slice(array(必須)、start(必須)、length(オプション)、preserve(オプション))
array 1という配列の下に1と表記する要素から2つの要素の長さを切り取る(オプションパラメータで、長さを選択しなければ最後の要素まで歌う).
$array1 = array('Touch me', 'Make me come alive', 'turn me on');

print_r(array_slice($array1, 1, 2)); 
//    : Array ( [0] => Make me come alive [1] => turn me on )

preserveはオプションです.関数がキー名を保持するかリセットするかを指定します.可能な値:true-キー名falseを保持-デフォルト.キー名をリセット
$array2 = array('red', 'green', 'blue', 'yellow', 'brown');

print_r(array_slice($array2, 1));  
// Array ( [0] => green [1] => blue [2] => yellow [3] => brown ) 
print_r(array_slice($array2, 1, 2, true)); 
//Array ( [1] => green [2] => blue )
print_r(array_slice($array2, 1, 2));
 //Array ( [0] => green [1] => blue )

array_splice(array(必須)、deleteFromIndex(必須)、length(オプション)、insertArray(オプション))
$a1 = array('a' => 'red','b' =>'green', 'c'=>'blue','d'=>'yellow');
$a2 = array('a' => 'purple', 'b' => 'orange');
print_r(array_splice($a1, 0, 2, $a2));
// Array ( [a] => red [b] => green )
print_r($a1); 
//       $a1:Array ( [0] => purple [1] => orange [c] => blue [d] => yellow )
$a1=array("0"=>"red","1"=>"green");
$a2=array("0"=>"purple","1"=>"orange");
array_splice($a1,1,0,$a2);
print_r($a1);
 //Array ( [0] => red [1] => purple [2] => orange [3] => green )

ここで注意しなければならないのは、この2つの関数の必須パラメータの2番目(startとdeleteFromIndex)は負数であってもよく、負数の場合は最後尾から逆数のstart番目またはdeleteFromIndex番目のビットから後数length個
次のコードの意味は$aという配列の最後から2番目の要素が後ろにslice(切り取る)1つの要素を戻り値として返すのでyellowと出力する.
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,-2,1)); 
//Array ( [0] => yellow )