phpの覚書

phpの覚え書きを書き溜めていくサイトです

PHP全般

配列の定義・更新・参照・追加・ソート

投稿日:

配列の定義

PHPで配列を定義するには「array()」を使って変数に代入する方法と、変数に[ ]で直接代入する方法がある。

どちらの方法でも、キーなしの配列・キーありの連想配列それぞれ定義可能

// array()を使って定義(キーなし)
$ary0 = array("value1","value2","value3");
var_dump($ary0);

// array()を使って定義(キーあり)
$ary1 = array(
    "key13" => "value1",
    "key12" => "value2",
    "key11" => "value3"
);
var_dump($ary1);

// [ ]を使って定義(キーなし)
$ary2 = ["value1","value2","value3"];
var_dump($ary2);

// [ ]を使って定義(キーあり)
$ary3 = [
    "key21" => "value1",
    "key22" => "value2",
    "key23" => "value3"
];
var_dump($ary3);

配列への項目追加

キーなし、キーありそれぞれのパターンはこんな感じ。キーを指定せずに作成した配列は自動採番したインデックスをキーになる。更新はすでに存在するキー値を指定し値を代入。

// キーなしの配列を定義
$ary0 = array("value1","value2","value3");
// キーありの配列を定義
$ary1 = array("key13" => "value1", "key12" => "value2", "key11" => "value3");

// 項目追加(キーなし)
$ary0[] = "value4";
var_dump($ary0);

// 項目追加(キーあり)
$ary1["key14"] = "value4";
var_dump($ary1);

// 更新(キーなし配列は自動採番された番号を指定)
$ary0[0] = "0番目の要素を更新";

// 更新(キーあり配列)
$ary2["key12"] = "key12の値を更新";

配列の値取得

配列の値取得。よく使うパターンはforeachでキー値と値をサクッと取得。

// キーなしの配列を定義
$ary0 = array("value1","value2","value3");
// キーありの配列を定義
$ary1 = array("key13" => "value1", "key12" => "value2", "key11" => "value3");


/* 配列のキー値と値の取得(キーなし) */
foreach ($ary0 as $key => $value) {
    echo "keyは" . $key . " 値は" . $value . "<br />";
}
/* 配列のキー値と値の取得(キーあり) */
foreach ($ary1 as $key => $value) {
    echo "keyは" . $key . " 値は" .$value. "<br />";
}

配列のキー値のみを取り出すarray_key()という関数もある

// キーありの配列を定義
$ary1 = array("key13" => "value1", "key12" => "value2", "key11" => "value3");

// array_keysで配列のキー値を取り出す
$keys = array_keys($ary1);
var_dump($keys);

配列のソート

配列にソートに関するメソッドは意外とたくさんある。中でも使用頻度が高いパターンの例(配列の値での昇順ソート・降順ソート、配列のキー値での昇順ソート・降順ソート)

その他ソートの詳細はPHP マニュアル 配列のソートを参照。

// キーなしの配列を定義
$ary0 = array("value1","value2","value3");
// キーありの配列を定義
$ary1 = array("key13" => "value1", "key12" => "value2", "key11" => "value3");

// 項目の値で昇順ソート
asort($ary1);
var_dump($ary1);

// 項目の値で降順ソート
arsort($ary1);
var_dump($ary1);


// キーの値で昇順ソート
ksort($ary1);
var_dump($ary1);

// キーの値で降順ソート
krsort($ary1);
var_dump($ary1);

-PHP全般
-, , ,

執筆者:

関連記事

no image

エスケープシーケンスと特殊文字

ダブルクォーテーションやシングルクォーテーションの文字列 PHPで文字列を扱う時はダブルクォーテーション「”」か、シングルクォーテーション「’」で文字列を囲む。 // 文字列は …

no image

スーパーグローバル変数・定数

スーパーグローバル変数・定数 スーパーグローバル変数やスーパーグローバル定数は、プログラム中のどこからでも参照可能な値。 スーパーグローバルに含まれる項目や値は、「$GLOBAL」を参照すると確認でき …

no image

クラスモジュールのstaticプロパティとstaticメソッド

クラスモジュールのstaticプロパティとstaticメソッド staticの識別子を付けたプロパティやメソッドは通常の?(動的な)プロパティやメソッドとは使い方が異なり、インスタンス化せずに呼び出し …

no image

マジック定数

マジック定数は特殊な定数で定義不要で参照可能な定数 __LINE__ファイル上の現在の行番号__FILE__ファイルのフルパスとファイル名__DIR__そのファイルの存在するディレクトリ__FUNCT …

no image

クラスの定義とインスタンス化

クラスの定義とインスタンス化 PHPでクラスを定義する時はclassキーワードを使って「class クラス名 { プロパティとかメソッドとか・・・ }」という感じ 定義したクラスをインスタンス化する時 …