1D.3.3 配列関数(リスト演算)
| 構文 | 説明 |
|---|---|
mixed array_shift (array array ) |
配列 array の最初の値を取り出して返します。 配列 array は、要素一つ分だけ短くなり、全ての要素は前にずれます。 array が空の場合(または配列でない場合)、 NULLが返されます。 ※この関数は、配列ポインタをリセット (reset())します。 |
int array_unshift ( array array, mixed var [,mixed ...] ) |
配列array の先頭に要素を加え、処理後の要素数を返します。 用例:
$queue = array(1, 2); array_unshift($queue, 3, 4); //結果は(3,4,1,2)です |
int array_push ( array array, mixed var [,mixed ...] ) |
配列array の最後に値を加え、処理後の要素数を返します。 用例:
$stack = array(1, 2); array_push($stack, 3, 4); //結果は(1,2,3,4)です |
mixed array_pop ( array array ) |
配列array の最後の値を取り出して返します。 配列array は、要素一つ分短くなります。 array が空の場合(または配列でない場合)、NULLが返されます。 ※この関数は、配列ポインタをリセット(reset())します。 |
array array_reverse ( array array [,bool preserve_keys] ) |
配列arrayの要素の順番を逆にした新しい配列を返します。 この際、preserve_keysがTRUEの場合はキーが保持されます。 |
array array_slice ( array array, int offset [,int length] ) |
配列array からoffsetと lengthで指定された要素の配列を返します。 offsetが正の場合、要素位置は配列の先頭から、offsetが負の場合、要素位置は配列の最後から計算します。 lengthが省略された場合、offsetから配列の最後までになります。 lengthが正の場合、offsetからlength分の要素が返されます。 lengthが負の場合、配列の末尾からlength分の要素が残るように返されます。 用例:
$a = array('a','b','c','d','e');
$b = array_slice ($a, 2); // ('c','d','e')
$b = array_slice ($a, 0, 3); // ('a','b','c')
$b = array_slice ($a,-2, 1); // ('d')
$b = array_slice ($a, 2,-1); // ('c','d')
$b = array_slice ($a, 2,-2); // ('c')
|
array array_splice ( array input, int offset [,int length [,array replacement]] ) |
配列input からoffsetとlengthで指定された要素を削除し、その削除した配列を返します。 array_splice()は、array_slice()と同じ配列を返します。 array_splice()は配列inputからスライスした配列を削除(または置換)します。 この点が、array_slice()と異なりますので注意して下さい。 replacementが指定された場合は、この要素で置換します。 lenghtが0の場合、replacementはoffsetの位置に挿入されます。 offset/lenghtの仕様はarray_slice()関数と同じです。 用例:同値な表現
array_splice($a,$x,1,$y); // $a[$x] = $y; array_splice($a,0,1); // array_shift($a); array_splice($a,0,0,$x); // array_unshift($a,$x); array_splice($a,count($a),0,$x); // array_push($a, $x); array_splice($a, -1); // array_pop($a); |
array array_map ( mixed callback, array arr1 [,array ...] ) |
配列arr1の各要素にcallback関数を適用した配列を返します。 callback関数のパラメータ数は、array_map()に渡される配列の数に一致している必要があります。 用例1:
function square($n){ return $n*$n; }
$a = array(1, 2, 3, 4, 5);
$b = array_map("square", $a); // 結果:$b=(1,4,9,16,25);
用例2:
function mapping($n, $m) { return array($n => $m); }
$a = array(1, 2, 3);
$b = array("red", "green", "blue");
$c = array_map("mapping", $a, $b);
// 結果:$c=((1=>red),(2=>green),(3=>blue) );
|
