PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのインデックス配列(添字配列)とは?作成方法から要素の操作まで徹底解説

インデックス配列とは

PHPのインデックス配列(添字配列)とは、key => value のペアではなく、カンマで区切った値だけを並べた配列のことです。各要素には 0 から始まる一意の位置インデックスが自動的に割り当てられるため、「インデックス配列」と呼ばれます。

インデックス配列は、array() 関数を使って初期化する方法と、角括弧 [] の中に要素を記述して代入する方法の2通りで作成できます。

構文

//array()関数を使ったインデックス配列
$arr=array(val1, val2,val3,..);
//代入によるインデックス配列
$arr=[val1, val2, val3,..];

配列の要素には任意のPHP型を使用できます。配列内の要素へは、次の構文でインデックスを指定してアクセスします。

$arr[index];

対応するPHPバージョン

角括弧 [] を使った配列の代入は、PHP 5.4 以降で利用可能です。

以下の例では、角括弧を使ってインデックス配列を作成しています。

例:角括弧を使った配列の作成

<?php
$arr=[10, "ten",10.0, 1.0E1];
var_dump($arr);
?>

出力結果

上記のコードを実行すると、次のような結果になります。

array(4) {
   [0]=>
   int(10)
   [1]=>
   string(3) "ten"
   [2]=>
   float(10)
   [3]=>
   float(10)
}

次の例では、array() 関数を使ってインデックス配列を作成しています。

例:array()関数を使った配列の作成

<?php
$arr=array(10, "ten",10.0, 1.0E1);
var_dump($arr);
?>

出力結果

実行結果は前述の例と同じになります。

array(4) {
   [0]=>
   int(10)
   [1]=>
   string(3) "ten"
   [2]=>
   float(10)
   [3]=>
   float(10)
}

配列の要素は、foreach ループや for ループを使って順番に取り出すこともできます。

例:forループとforeachループでの要素の走査

<?php
$arr=array(10, "ten",10.0, 1.0E1);
//forループの場合。count()関数で配列のサイズを取得します。
for ($i=0;$i < count($arr); $i++){
   echo $arr[$i] . " ";
}
echo "\n";
//foreachループの場合
foreach($arr as $i){
   echo $i . " ";
}
?>

出力結果

どちらのループでも同じ結果が出力されます。

10 ten 10 10
10 ten 10 10

次の例では、角括弧を使って特定のインデックスの値を変更しています。また、新しい要素を追加する場合は角括弧を空のままにすることで、次に利用可能な整数が自動的にインデックスとして使われます

例:要素の変更と追加

<?php
$arr=array(10, "ten",10.0, 1.0E1);
//インデックスを指定して既存の要素を変更
$arr[3]="Hello";
//次のインデックスで新しい要素を追加
$arr[]=100;
for ($i=0; $i< count($arr); $i++){
   echo $arr[$i];
}
?>

出力結果

10 ten 10 Hello 100
  1. PHPのdate_parse()関数とは?日付を詳細に解析して連想配列で取得する方法

    PHPのdate_parse()関数は、指定された日付文字列を解析し、その日付に関する詳細な情報を連想配列として返す関数です。年・月・日だけでなく、時・分・秒や小数秒まで取得できるため、日付データの検証や加工に便利な関数です。 構文 date_parse(date) パラメータ date − 解析対象となる日付を表す文字列を指定します。「YYYY-MM-DD HH:MM:SS」のような標準形式のほか、「+2 week」などの相対的な日付表現も指定可能です。 戻り値 date_parse()関数は、指定された日付に関する詳細な情報を格納した連想配列を返します。配列には以下のようなキーが含まれ

  2. PHPのeach()関数とは?使い方と非推奨について解説

    PHPのeach()関数は、配列から現在のキーと値のペアを取得して返す関数です。注意: この関数はPHP 7.2.0以降で非推奨(deprecated)となっており、使用は避けるべきです。代わりにforeach文やcurrent()・key()などの配列関数を使うことが推奨されています。構文each(arr)パラメータarr − 対象となる配列を指定します。戻り値each()関数は、配列内の現在の要素(カーソルが指している要素)のキーと値を返します。戻り値は以下の4つの要素を持つ配列です。要素の値に対して「1」と「value」の2つの要素要素のキーに対して「0」と「key」の2つの要素使用例以