ホームページ >バックエンド開発 >PHPチュートリアル >PHP_005 配列
配列は、単一の変数に複数の値を格納できる特別な変数です。
PHP では、array() 関数を使用して配列を作成します:
array();
PHP では、3 種類の配列があります:
数値配列 - 数値 ID キーを含む 配列
連想配列 - 指定されたキーを持つ配列、各キーは値に関連付けられます
多次元配列 - 1 つ以上の配列を含む配列
数値配列を作成するには 2 つの方法があります。 ID キーを自動的に割り当てる (ID キーは常に 0 から始まります):
$cars=array("Volvo","BMW","Toyota");
ID キーを手動で割り当てる:
$cars [0]="Volvo ";
$cars[1]="BMW";$cars[2]="Toyota";
次の例では、$cars という名前の数値配列を作成し、3 つの値を配列要素に割り当てて出力します。配列値を含むテキスト:
<?php $cars=array("Volvo","BMW","Toyota"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";?>
count() 関数
<?php $cars=array("Volvo","BMW","Toyota"); echo count($cars);?>
数値配列を走査
<?php $cars=array("Volvo","BMW","Toyota"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++){ echo $cars[$x]; echo "<br>";}?>
連想配列
連想配列を作成するには 2 つの方法があります:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
または:$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
その後追加できますスクリプト内で次の指定されたキーを使用します:
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); echo "Peter is " . $age['Peter'] . " years old.";?>
連想配列のトラバース
連想配列内のすべての値を反復して出力するには、次のように foreach ループを使用できます:
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; }?>
多次元配列
多次元配列とは、1 つまたは複数の配列の配列を含む配列です。
例
この例では、自動的に割り当てられた ID キーを持つ多次元配列を作成しました:
$families = array( "Griffin"=>array ( "Peter", "Lois", "Megan" ), "Quagmire"=>array ( "Glenn" ), "Brown"=>array ( "Cleveland", "Loretta", "Junior" ));
Array([Griffin] => Array ( [0] => Peter [1] => Lois [2] => Megan )[Quagmire] => Array ( [0] => Glenn )[Brown] => Array ( [0] => Cleveland [1] => Loretta [2] => Junior ))例 2
上記の配列の値:
echo "Is " . $families['Griffin'][2] . " a part of the Griffin family?";
Is Megan a part of the Griffin family?配列の並べ替え
sort() - 配列を昇順で並べ替えます
asort() - に基づいて連想配列の値、配列を昇順に並べ替えます
ksort() - 連想配列のキーに基づいて配列を昇順に並べ替えます
arsort() - 配列を降順に並べ替えます
arsort() - 配列を降順に並べ替えます連想配列の値
krsort() - 連想配列のキーに基づいて配列を昇順に並べ替え、配列を降順に並べ替えます
sort() - 配列を昇順に並べ替えます
<?php$cars=array("Volvo","BMW","Toyota");sort($cars);?>次の例は、$numbers 配列の要素を数値の昇順に並べ替えます:
<?php$numbers=array(4,6,2,22,11);sort($numbers);?>rsort() - 配列を降順に並べ替えます
<?php$cars=array("Volvo","BMW","Toyota");rsort($cars);?>次の例は、$numbers 配列の要素を数値の降順に並べ替えます:
<?php$numbers=array(4,6,2,22,11);rsort($numbers);?>asort() - 配列を次の値に基づいて昇順に並べ替えます。配列の値
<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");asort($age);?>ksort() - 配列のキーに基づいて配列を昇順に並べ替えます
<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");ksort($age);?>arsort() - 配列値に従って降順に配列を並べ替えます
<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");arsort($age);?>krsort() - 配列のキーに従って降順で配列を並べ替えます
<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");krsort($age);?>
関数 | 説明 |
---|---|
array() | 配列を作成します。 |
array_change_key_case() | キーがすべて大文字または小文字である配列を返します。 |
array_chunk() | 配列を新しい配列チャンクに分割します。 |
array_column() | 入力配列内の 1 つの列の値を返します。 |
array_combine() | 2 つの配列 (キー名用とキー値用の 1 つ) を結合して新しい配列を作成します。 |
array_count_values() | は、配列内のすべての値の出現数をカウントするために使用されます。 |
array_diff() | 配列を比較し、2 つの配列の差を返します (キー値の比較のみ)。 |
array_diff_assoc() | 配列を比較し、2 つの配列の差を返します (キー名とキー値を比較)。 |
array_diff_key() | 配列を比較し、2 つの配列の差を返します (キー名の比較のみ)。 |
array_diff_uassoc() | 配列を比較し、2 つの配列の差分セットを返します (キー名とキー値を比較し、ユーザー定義のキー名比較関数を使用します)。 |
array_diff_ukey() | 配列を比較し、2 つの配列の差分セットを返します (ユーザー定義のキー名比較関数を使用して、キー名のみを比較します)。 |
array_fill() | 指定されたキー値で配列を埋めます。 |
array_fill_keys() | 指定されたキー値で配列を埋めます。 |
array_filter() | コールバック関数を使用して配列内の要素をフィルタリングします。 |
array_flip() | 配列内のキー名と、対応する関連キー値を反転/交換します。 |
array_intersect() | 配列を比較し、2 つの配列の共通部分を返します (キー値の比較のみ)。 |
array_intersect_assoc() | 配列を比較し、2 つの配列の共通部分を返します (キー名とキー値を比較)。 |
array_intersect_key() | 配列を比較し、2 つの配列の共通部分を返します (キー名のみを比較します)。 |
array_intersect_uassoc() | 配列を比較し、2 つの配列の共通部分を返します (ユーザー定義のキー名比較関数を使用して、キー名とキー値を比較します)。 |
array_intersect_ukey() | 配列を比較し、2 つの配列の共通部分を返します (ユーザー定義のキー名比較関数を使用して、キー名のみを比較します)。 |
array_key_exists() | 指定されたキー名が配列内に存在するかどうかを確認します。 |
array_keys() | 配列内のすべてのキー名を返します。 |
array_map() | 指定された配列の各値にユーザー定義関数を適用し、新しい値を返します。 |
array_merge() | 1 つ以上の配列を 1 つの配列にマージします。 |
array_merge_recursive() | 1 つ以上の配列を 1 つの配列に再帰的にマージします。 |
array_multisort() | 複数の配列または多次元配列をソートします。 |
array_pad() | 指定された値を持つ指定された数の要素を配列に挿入します。 |
array_pop() | 配列 (pop) の最後の要素を削除します。 |
array_product() | 配列内のすべての値の積を計算します。 |
array_push() | 配列の末尾に 1 つ以上の要素を挿入します (プッシュ)。 |
array_rand() | 配列から 1 つ以上の要素をランダムに選択し、キー名を返します。 |
array_reduce() | ユーザー定義関数を使用して、配列を反復的に文字列に縮小し、それを返します。 |
array_replace() | 最初の配列の値を次の配列の値で置き換えます。 |
array_replace_recursive() | 最初の配列の値を後続の配列の値で再帰的に置き換えます。 |
array_reverse() | 元の配列の要素の順序を反転し、新しい配列を作成して返します。 |
array_search() | 配列内の指定された値を検索し、成功した場合は対応するキー名を返します。 |
array_shift() | 配列の最初の要素を削除し、削除された要素の値を返します。 |
array_slice() | 配列の選択された部分を返します。 |
array_splice() | 指定された要素を配列から削除し、他の値に置き換えます。 |
array_sum() | 配列内のすべての値の合計を返します。 |
array_udiff() | 配列を比較し、2 つの配列の差を返します (ユーザー定義のキー比較関数を使用してキー値のみを比較します)。 |
array_udiff_assoc() | 配列を比較し、2 つの配列の差分セットを返します (キー名とキー値を比較し、組み込み関数を使用してキー名を比較し、ユーザー定義関数を使用してキー値を比較します)。 |
array_udiff_uassoc() | 配列を比較し、2 つの配列の差分セットを返します (2 つのユーザー定義のキー名比較関数を使用して、キー名とキー値を比較します)。 |
array_intersect() | 配列を比較し、2 つの配列の共通部分を返します (ユーザー定義のキー比較関数を使用してキー値のみを比較します)。 |
array_uiintersect_assoc() | 配列を比較し、2 つの配列の共通部分を返します (キー名とキー値を比較し、組み込み関数を使用してキー名を比較し、ユーザー定義関数を使用してキー値を比較します)。 |
array_uintersect_uassoc() | 配列を比較し、2 つの配列の共通部分を返します (2 つのユーザー定義のキー比較関数を使用して、キー名とキー値を比較します)。 |
array_unique() | 配列内の重複した値を削除します。 |
array_unshift() | 配列の先頭に 1 つ以上の要素を挿入します。 |
array_values() | 配列内のすべての値を返します。 |
array_walk() | 配列の各メンバーにユーザー関数を適用します。 |
array_walk_recursive() | ユーザー関数を配列の各メンバーに再帰的に適用します。 |
arsort() | 連想配列をキー値の降順に並べ替えます。 |
asort() | 連想配列をキー値の昇順に並べ替えます。 |
compact() | 変数名とその値を含む配列を作成します。 |
count() | 配列内の要素の数を返します。 |
current() | 配列内の現在の要素を返します。 |
each() | 配列内の現在のキーと値のペアを返します。 |
end() | 配列の内部ポインタを最後の要素に設定します。 |
extract() | 変数を配列から現在のシンボル テーブルにインポートします。 |
in_array() | 指定された値が配列内に存在するかどうかを確認します。 |
key() | 連想配列からキー名を取得します。 |
krsort() | 連想配列をキー名の降順にソートします。 |
ksort() |