Search
  1. array_fill〔配列を指定した値で埋める〕
  2. array_fill_keys PHP5~〔キーを指定して配列を値で埋める〕
  3. array_filter〔コールバック関数を使用する配列要素フィルタ〕
  4. array_pad〔指定長、指定した値で配列を埋める〕
  5. array_pop〔配列の末尾の要素を取り除く〕
  6. array_push〔配列の末尾に1つ以上の要素追加〕
  7. array_reduce PHP5~〔コールバック関数を用いて、配列を普通の値に変更して配列を再帰的に減らす〕
  8. array_shift〔配列の先頭から要素を1つ取り出す〕
  9. array_slice〔配列の一部を展開〕
  10. array_splice〔配列の一部を削除し、他の要素で置換〕
  11. array_unique〔配列から重複した値を削除〕
  12. array_unshift〔配列の先頭に1つ以上の要素を追加〕

array_fill
配列を指定した値で埋める

unknown

array array_fill ( int $開始するインデックス, int $埋める数, mixed $埋める値 )

開始インデックスから、埋める数個分、埋める値で配列を埋めて返します。 第2引数埋める数は、1以上の数値を指定します。 1未満の値を指定した場合はE_WARNINGレベルのエラーが発生します。

<?
$input array_fill(54'banana');
print_r($input);
//Array ( [5] => banana [6] => banana [7] => banana [8] => banana )
?>

array_fill_keys PHP5~
キーを指定して配列を値で埋める

unknown

array array_fill_keys ( array $keys, mixed $value )

valueに指定した値で、配列の値を埋めて返します。 そのキーとして、keysで指定した値を使用します。

第1引数keysには、キーとして使用する値の配列を指定します。 キーとして無効な値を指定した場合は、文字列に変換されます。

第2引数valueには、埋めたい値を指定します。

<?
$keys = array('foo'510'bar');
$a array_fill_keys($keys'banana');
echo nl2br(print_r($atrue));
/*
Array
(
[foo] => banana
[5] => banana
[10] => banana
[bar] => banana
)
*/
?>

array_filter
コールバック関数を使用する配列要素フィルタ

unknown

array array_filter ( array $配列[, function $コールバック関数] )

コールバック関数によりフィルタ処理が行われた配列の全要素を含む配列を返します。 第2引数コールバック関数TRUEを返した場合、配列の現在の値が結果の配列に入ります。 配列が連想配列の場合、キーと値の関係は維持されます。

  • コールバック関数によって配列自身を変更することはできません。
  • 要素を追加・削除したり、この関数が適用される配列を unset()することはできません。
  • コールバック関数を省略すると、配列の要素が全て削除されます(FALSEと等価)。
<?
function odd($var){
    return($var == 1);
}
function even($var){
    return($var == 0);
}

$arr1 = array("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5);
$arr2 = array(6,7,8,9,10,11,12,13,14,15);

print_r(array_filter($arr1,"odd")); echo "<br>";
//Array ( [a] => 1 [c] => 3 [e] => 5 ) 
print_r(array_filter($arr2,"even"));
//Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 [8] => 14 )
?>

array_pad
指定長、指定した値で配列を埋める

unknown

array array_pad ( array $配列, int $埋めるサイズ, mixed $埋める値 )

埋めるサイズで指定した長さになるように埋める値で埋めた配列のコピーを返します。 第2引数埋めるサイズの絶対値が、配列長さ以下の場合、埋める処理は行われません。

埋めるサイズ
埋めるサイズ説明
正の値配列の右側が埋められます
負の値配列の左側が埋められます
<?
$input[a] = "aaa";
$input[d] = "ddd";
$input[c] = "eee";

# 埋めるサイズに“正の値”を指定した場合(元配列 $input に変化なし)
# $result は、指定の長さになるまで、配列の“右側”が、指定した値で埋められます
$result array_pad($input50);
print_r($input);
//Array ( [a] => aaa [d] => ddd [c] => eee )
print_r($result);
//Array ( [a] => aaa [d] => ddd [c] => eee [0] => 0 [1] => 0 )


# 埋めるサイズに“負の値”を指定した場合(元配列 $input に変化かなし)
# $resultは、指定した長さになるまで、配列の“左側”が、指定した値で埋められます
$result array_pad($input, -50);
print_r($input);
//Array ( [a] => aaa [d] => ddd [c] => eee )
print_r($result);
//Array ( [0] => 0 [1] => 0 [a] => aaa [d] => ddd [c] => eee ) 
?>

array_pop
配列の末尾の要素を取り除く

unknown

mixed array_pop ( array $配列 )

配列最後の要素を取り出して(削除して)返します。そのため、配列は要素1つ分短くなります。 配列が空または配列でない場合は、NULLを返します。

この関数使用後は、reset()で配列の内部ポインタを先頭に戻しましょう。

配列の最後に要素を追加する場合は、array_push()関数を使用してください。

<?
$fruit = array("apple","banana","grape");
$del_item array_pop($fruit);
#削除された要素
echo $del_item//grape
#削除後の配列
print_r($fruit); //Array ( [0] => apple [1] => banana )

#連想配列の末尾から要素を削除する場合
$fruit = array("a"=>"apple""5"=>"banana""grape");
array_pop($fruit);
#削除後の配列
print_r($fruit); //Array ( [a] => apple [5] => banana )
?>

array_push
配列の末尾に1つ以上の要素追加

unknown

int array_push ( array &$配列, mixed $追加する変数[, mixed ...] )

渡された変数を配列の最後に追加します。 配列の長さは、渡された変数の数だけ増加します。

配列の最後から要素を削除する場合は、array_pop()関数を使用してください。

<?
$fruit = array("apple","banana","grape");

$fruit_length array_push($fruit"melon""remon");
#追加後の配列の要素数を取得
echo $fruit_length//5
#追加後の配列
print_r($fruit);
//Array ( [0] => apple [1] => banana [2] => grape [3] => melon [4] => remon )

#連想配列の末尾に要素を追加する場合
$fruit = array("a"=>"apple""5"=>"banana""grape");
array_push($fruit"melon""remon");
#追加後の配列
print_r($fruit);
//Array ( [a] => apple [5] => banana [6] => grape [7] => melon [8] => remon ) 
?>

array_reduce PHP5~
コールバック関数を用いて、配列を普通の値に変更して配列を再帰的に減らす

unknown

mixed array_reduce ( array $配列, callback $コールバック関数[, int $initial] )

配列の各要素にコールバック関数を繰り返し適用し、配列を1つの値に減らします。

オプションの第3引数intialは、処理の最初で使用されたり、配列が空の場合の最終結果として使用されます。 配列が空で、initialが省略された場合はNULLを返します。

<?
if (function_exists('array_reduce')) {
    function rsum($v$w){
        $v += $w;
        return $v;
    }

    function rmul($v$w){
        $v *= $w;
        return $v;
    }

    $a = array(12345);
    $x = array();
    $b array_reduce($a"rsum");     //15
    $c array_reduce($a"rmul"10); //1200 (=10*1*2*3*4*5)
    $d array_reduce($x"rsum"1);  //1
}
?>

array_shift
配列の先頭から要素を1つ取り出す

unknown

mixed array_shift ( array &$配列 )

配列最初の要素を取り出して返します。 そのため配列は要素1つ分短くなり全ての要素が前にずれます。 配列が空または配列でない場合はNULLを返します。

この関数使用後は、reset()で配列の内部ポインタを先頭に戻しましょう。

配列の先頭に要素を追加する場合は、array_unshift()関数を使用してください。

<?
$fruit = array("apple","banana","grape");
array_shift($fruit);
print_r($fruit); //Array ( [0] => banana [1] => grape )

$fruit = array("a"=>"apple""5"=>"banana""grape");
$del_item array_shift($fruit);
#追加後の要素数
echo $del_item//apple
#追加後の配列
print_r($fruit); //Array ( [0] => banana [1] => grape )
?>

array_slice
配列の一部を展開

unknown

array array_slice ( array $配列, int $取出位置[, int $取出す長さ[, bool $キーのリセット]] )

配列から取出位置および取出す長さで指定された連続する要素を返します。 元配列の内容に変化はありません。

デフォルトで配列のキーをリセットするため、キーと値の関係は維持されませんが、PHP 5.0.2 以降では、オプションの第4引数キーのリセットTRUEを指定すると、キーと値の関係を維持する事ができます。

取出位置取出す長さは、添字としてではなく、配列の内部的な並び順に対して適用されることに注意して下さい。

取出位置
取出位置説明
正の値要素位置の計算は、配列の取出位置から始められる。
負の値要素位置の計算は、配列の最後から行われる。
取り出す長さ
取出す長さ説明
正の値連続する複数の要素が返される。
負の値配列の末尾から連続する複数の要素がされる。
省略取出位置から配列の最後まで全要素が返される。
<?
$fruit = array("apple""banana""grape""melon""remon");
#配列fruitの2つ目の要素から3要素取り出す。
$arr array_slice($fruit13);
print_r($arr); //Array ( [0] => banana [1] => grape [2] => melon )

$input[0] = "aaa";
$input[1] = "bbb";
$input[2] = "ccc";
$input[3] = "ddd";
$input[4] = "eee";

$output array_slice($input2); //2番目から最後まで取出
//Array("ccc","ddd","eee");

$output array_slice($input2, -1); //2番目から最後から1つ目の要素まで取出
//Array("ccc","ddd");

$output array_slice($input, -21); //最後から2番目の要素から1つ取出
//Array("ddd");

$output array_slice($input03);  //最初から3つ取出
//Array("aaa","bbb","ccc");
?>

array_splice
配列の一部を削除し、他の要素で置換

unknown

array array_splice ( array $配列, int $オフセット[, int $長さ[, array $置換要素の配列]] )

配列からオフセットおよび長さで指定された要素を削除して置換要素の配列で置換し、 抽出された要素を含む配列を返します。キーと値の関係は維持されません

第2引数 オフセット
オフセット説明
正の値削除部分は配列の最初から数えたオフセット位置からとなる。
負の値削除部分は配列の末尾から数えた位置からとなる。
オプションの第3引数 長さ
長さ説明
省略オフセットから配列の最後までが全て削除される。
正の値複数の要素が削除。
負の値削除されます部分は配列の末尾から複数の要素となる。

オプションの第4引数置換要素の配列を指定すると、削除された要素はこの配列の要素で置換されます。

<?
$arr = array("apple""banana""grape""cherry""lemon");
$del_item array_splice ($arr2);
print_r($arr);      // Array ( [0] => apple [1] => banana )
print_r($del_item); // Array ( [0] => grape [1] => cherry [2] => lemon )
?>

<?
/* 「長さ」が“負の値”の場合
削除される部分は配列の末尾から複数の要素となります
*/
$arr = array("apple""banana""grape");
$del_item array_splice ($arr1, -1);
print_r($arr);      // Array ( [0] => apple [1] => grape )
print_r($del_item); // Array ( [0] => banana )
?>

<?
/*「削除位置」から配列の最後まで全てを削除する場合
「長さ」を求めるために count($input) を使用すると便利です
*/
$arr = array("apple""banana""grape");
$del_item array_splice ($arr1count($arr), "CHERRY");
print_r($arr);      // Array ( [0] => apple [1] => CHERRY )
print_r($del_item); // Array ( [0] => banana [1] => grape )
?>

<?
/* 「オフセット」が“正の値”の場合
配列の最初から数えた「オフセット」から削除されます
*/
$arr = array("apple""banana""grape");
$del_item array_splice ($arr, -11, array("CHERRY""LEMON"));
print_r($arr);      // Array ( [0] => apple [1] => banana [2] => CHERRY [3] => LEMON )
print_r($del_item); //A rray ( [0] => grape )
?>

オフセットおよび長さに何も削除しないと指定(0を指定)すると、 置換要素の配列の要素がオフセットで指定した位置に挿入されます。 置換される配列のキーと値の関係は維持されません

<?
/* 「オフセット」「長さ」が 0 の場合
置換する配列の要素は、「オフセット」で指定した位置に挿入されます
*/
$arr = array("apple""banana""grape");
array_splice ($arr20, array("CHERRY""LEMON"));
print_r($arr);
/*
Array
(
    [0] => apple
    [1] => banana
    [2] => CHERRY
    [3] => LEMON
    [4] => grape
)
*/


/* 「削除位置」が 0 の場合
置換する配列の要素は、配列の先頭に挿入されます
array_unshift($arr, $x, $y) とするのと同じです
*/
$arr = array("apple""banana""grape");
array_splice ($arr00, array("CHERRY""LEMON"));
print_r($arr);
/*
Array
(
    [0] => CHERRY
    [1] => LEMON
    [2] => apple
    [3] => banana
    [4] => grape
)
*/
?>

もし置換要素の配列に要素が1つしかない(配列でない)場合は、array() で括る必要はありません。

<?
$arr = array("apple""banana""grape");
array_splice ($arr11"CHERRY");
print_r($arr);
?>

array_splice() と同等なもの

配列の最後に要素を追加: array_push($input, $x, $y);と同じ

array_splice ( $input, count ( $input ), 0, $array ( $x, $y ) );

置換要素に配列を指定した場合、オフセットから配列の最後まで全削除するには、長さを求めるcount()関数を使うと便利です。

配列から最後の値を取出す: array_pop($input);と同じ

array_splice ( $input, -1 );

配列の先頭の値を取り出す: arrary_shift($input);と同じ

array_splice ( $input, 0 );

配列の先頭に要素を追加: array_unshift($input, $x, $y);と同じ

array_splice ( $input, 0, 0, array ( $x, $y ) );

配列$aの$xの位置に、$yを追加: $a[$x]=$y;と同じ

array_splice ( $input, $x, 1, $y );

array_unique
配列から重複した値を削除

unknown

array array_unique ( array $配列 )

値に重複のない新規配列を返します。 キーと値の関係は維持されます。 この関数はまず文字列として値をソートし、各値の最初のキーを保持し、2回目以降の全てのキーを無視します(ソート前の配列で最初の関連する値のキーが保持されるという意味ではありません)。

<?
$input[a] = "apple";
$input[b] = "banana";
$input[c] = "cocoa";
$input[1] = "apple";
$input[2] = "banana";

$unique array_unique($input);
print_r($unique); //Array ( [a] => apple [b] => banana [c] => cocoa )
?>

array_unshift
配列の先頭に1つ以上の要素を追加

unknown

int array_unshift ( array &$配列[, mixed $追加する要素] )

配列先頭に1つ以上の要素を追加した追加後の要素を返します。 リストの要素は全体として加えられるため、加えられた要素の順番は変わりません。 キーが数値の場合、追加後の配列のキーは0から始まる連番に振り直されます。

配列の先頭から要素を削除する場合は、array_shift()関数を使用してください。

<?
$fruit = array("apple","banana","grape");
array_unshift($fruit,"melon");
print_r($fruit);
//Array ( [0] => melon [1] => apple [2] => banana [3] => grape )

$fruit = array("a"=>"apple""5"=>"banana""grape");
$add_length array_unshift($fruit"melon""remon");
#追加後の要素数
echo $add_length//5
#追加後の配列
print_r($fruit);
//Array ( [0] => melon [1] => remon [a] => apple [2] => banana [3] => grape ) 
?>

関連コンテンツ

Q. このサイトの情報はお役に立ちましたでしょうか?

投票する 投票結果を見る

管理人に【web拍手】を送るweb拍手(1行メッセージも送れます♪)

pagetop

polarized women