トップページ >  PHP >  配列
初版2012/05/12: 最終更新日2013/05/24
配列
目次
配列
配列のソート
配列に要素を追加
配列の要素を削除
配列の指定した要素を置換または削除
配列の長さを調べる
配列
PHPで配列を宣言するには以下のようにします。
$arr = array("test1","test2""test3");
$arrは配列変数になります。また配列の要素は以下のように添え字で取り出すことが出来ます。基底は0です。
print $arr[0]."¥n";
print $arr[1]."¥n";
print $arr[2]."¥n";
配列のソート
配列を昇順にソートするにはsort関数を使います。降順にソートするにはrsort関数を使います。
どちらも配列変数を関数の引数に渡すだけです。以下、配列を昇順にソートしている例です。

#!/usr/bin/php
<?php
$arr = array("test2","test5","test3","test7","test1","test4","test6");
sort($arr);

foreach($arr as $key=>$val){
    print $key. ":".$val."\n";
}
?>

結果は以下のようになります。

0:test1
1:test2
2:test3
3:test4
4:test5
5:test6
6:test7

配列に要素を追加
配列の末尾に要素を追加するには、array_pushを使用します。
array_pushの使い方は以下のとおりです。

第一引数・・・配列
第二引数・・・配列要素(可変長)

可変長で、要素数は第二引数以降に追加していきます。第二引数以降に指定した要素が先頭に追加されます。以下、サンプルです。

<?php
    $arr = array("test1","test2");
    array_push($arr,"test3","test4");

    print_r($arr);
?>

以下、実行例です。

Array
(
    [0] => test1
    [1] => test2
    [2] => test3
    [3] => test4
)

配列の先頭に要素を追加したい場合は、array_unshiftを使用します。
array_unshiftの使い方は以下のとおりです。

第一引数・・・配列
第二引数・・・配列要素(可変長)

可変長で、要素数は第二引数以降に追加していきます。以下、サンプルです。

<?php
    $arr = array("test1","test2");
    array_unshift($arr,"test3","test4");

    print_r($arr);
?>

以下、実行例です。

Array
(
    [0] => test3
    [1] => test4
    [2] => test1
    [3] => test2
)

配列の要素を削除
配列の末尾の要素を削除するには、array_popを使用します。
array_popの使い方は以下のとおりです。

第一引数・・・配列

以下、サンプルです。

<?php
    $arr = array("test1","test2","test3","test4");
    array_pop($arr);

    print_r($arr);
?>

以下、実行例です。

Array
(
    [0] => test1
    [1] => test2
    [2] => test3
)

配列の先頭の要素を削除したい場合は、array_shiftを使用します。
array_shiftの使い方は以下のとおりです。

第一引数・・・配列

以下、サンプルです。

<?php
    $arr = array("test1","test2","test3","test4");
    array_shift($arr);

    print_r($arr);
?>

以下、実行例です。

Array
(
    [0] => test2
    [1] => test3
    [2] => test4
)

配列の指定した要素を置換または削除
配列の要素の指定した要素を削除したり置換したい場合はarray_splice関数を使用します。
array_spliceの使い方は以下のとおりです。

第一引数・・・配列
第二引数・・・オフセット値(基底値0)
第三引数・・・オフセット値からの要素数で省略
第四引数・・・要素または配列


削除する場合は、第四引数は指定不要です。以下は指定した要素を削除するサンプルです。

<?php
    $arr1 = array("test1","test2","test3","test4");
    array_splice($arr1,2);

    print_r($arr1);

    $arr2 = array("test1","test2","test3","test4");
    array_splice($arr2,2,1);

    print_r($arr2);
?>

以下、実行例です。

Array
(
    [0] => test1
    [1] => test2
)
Array
(
    [0] => test1
    [1] => test2
    [2] => test4
)

array_spliceを使用して指定した要素を置換したい場合、第四引数で置換要素、または、置換配列を指定します。
以下の例では、要素数が1つの場合、第三引数は1としています。配列を指定した場合も要素数に合わせて、第三引数も同じ数にしています。

<?php
    $arr1 = array("test1","test2","test3","test4");
    array_splice($arr1,2,1,"test5");

    print_r($arr1);

    $arr2 = array("test1","test2","test3","test4");
    $arr3 = array("err1","err2","err3");
    array_splice($arr2,2,3,$arr3);

    print_r($arr2);
?>

以下、実行例です。

Array
(
    [0] => test1
    [1] => test2
    [2] => test5
    [3] => test4
)
Array
(
    [0] => test1
    [1] => test2
    [2] => err1
    [3] => err2
    [4] => err3
)

配列の長さを調べる
配列の長さを調べるには、count関数を使用します。
for文でよく使うと思います。以下、ソースです。

<?php
    $arr = array(1,2,3);
    for($i = 0;$i

以下、実行例です。

1
2
3