目次
array() 関数は配列を作成するために使用されます。
PHP には、次の 3 種類の配列があります。
array() は、キーと値を含む配列を作成します。 配列を指定するときに key を省略すると、0 から始まり 1 ずつ増加する整数のキーが生成されます。
array() を使用して連想配列を作成するには、=> を使用してキーと値を区切ります。
空の配列を作成するには、array() に引数を渡しません。
$new = array();
注:array() は実際には言語構造体 (language consruct) であり、通常はリテラル配列を定義するために使用されますが、その使用法は function の使用法と非常によく似ています。説明書にも記載してください。
配列にインデックスを付けるための構文:
array(value1,value2,value3,etc.);
連想配列の構文:
array(key=>value,key=>value,key=>value,etc.);
| パラメータ | 説明 |
|---|---|
| key | はキー名 (値または文字列) を指定します。 |
| value | はキー値を指定します。 |
| 戻り値: | パラメータの配列を返します。 |
| PHP バージョン: | 4+ |
| 変更履歴: |
PHP 5.4 , [] 交換する array()。 例, $cars=["Volvo","BMW"]; 交換する $cars=array("Volvo","BMW"); |
インデックス付き配列は、数値をインデックスとして使用する配列です。 各インデックスは整数である必要があり、隣接するインデックス間の差は 1 です。 インデックス付き配列を宣言する場合、最初に配列変数を宣言し、次に角かっこ表記を使用して配列にデータを入力できます。
$cars=array("Volvo","BMW","Toyota");
or
$cars['0']=Volvo;
$cars['1']=BMW;
$cars['2']=Toyota;
$cars=array("Volvo","BMW","Toyota");
echo "this is " . $cars['0'] ;結果
this is Volvo. $cars=array("Volvo","BMW","Toyota"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "<br>"; }結果
Volvo
BMW
Toyota 連想配列は、配列に割り当てる指定されたキーを持つ配列です。
$age=array("Peter"=>"35","Ben"=>"43","Joe"=>"42")
or
$age['Peter']=35
$age['Ben']=43
$age['Joe']=42
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";結果
Peter is 35 years old.
foreach($age as $x=>$x_value ){
echo "key=".$x."value=".$x_value."<br>";
}
結果
key=Peter value=35
key=Ben value=37
key=Joe value=43 連想配列とインデックス配列は多くの点で似ていますが、いくつかの違いがあります。 連想配列とインデックス付き配列の主な違いは次のとおりです。
1、キーと値のペアの概念が異なります
連想配列では、キーと値のペア (キーと値) の概念を使用して配列要素を定義します。各要素間にインデックス番号の概念はなく、要素は比較的独立しています。 インデックス配列は、配列要素のインデックス番号として数値を使用して定義され、各要素は数値インデックスによって連続的に接続されます。
2、要素にアクセスするためのさまざまな方法
連想配列はカスタム キー名を通じて配列要素にアクセスしますが、インデックス付き配列は数値を使用して配列要素にアクセスします。
3、配列要素の並べ替え方法が異なります
連想配列内の要素は、挿入された順序で並べ替えられます。 インデックス付き配列内の要素は、数値インデックスの順序に従って並べ替えられます。
4、可読性の違い
連想配列はカスタム キー名を使用して配列要素にアクセスするため、コードがより読みやすくなり、読みやすく理解しやすくなります。 インデックス付き配列には、その要素の意味を説明するためにさらに多くのコメントが必要です。
5、連想配列とインデックス配列間の接続
連想配列とインデックス配列の間にはいくつかの違いがありますが、類似点もいくつかあります。 連想配列とインデックス配列の間の接続をいくつか示します。
配列は、array() 関数を使用して宣言できます。
どちらも自己インクリメント整数を使用して配列要素を追加できます。
unset() 関数を使用して配列要素を削除できます。
count() 関数を使用して配列の長さを取得できます。
$cars=array
(
array("Volvo",100,96),
array("BMW",60,59),
array("Toyota",110,100)
);
echo $cars[0][0].": Ordered: ".$cars[0][1].". Sold: ".$cars[0][2]."<br>";
echo $cars[1][0].": Ordered: ".$cars[1][1].". Sold: ".$cars[1][2]."<br>";
echo $cars[2][0].": Ordered: ".$cars[2][1].". Sold: ".$cars[2][2]."<br>";
結果
Volvo: Ordered: 100. Sold: 96
BMW: Ordered: 60. Sold: 59
Toyota: Ordered: 110. Sold: 100 count() 関数は、配列の長さ (要素の数) を返すために使用されます。
$cars=array("Volvo","BMW","Toyota"); echo count($cars);結果
3 次の例では、$cars 配列の要素をアルファベットの昇順で並べ替えます。
$cars=array("Volvo","BMW","Toyota"); sort($cars);結果
Array ( [0] => BMW [1] => Toyota [2] => Volvo ) 次の例では、$cars 配列の要素をアルファベットの降順に並べ替えます。
$cars=array("Volvo","BMW","Toyota"); rsort($cars);結果
Array ( [0] => Volvo [1] => Toyota [2] => BMW ) 次の例では、$numbers 配列の要素を数値の降順に並べ替えます。
$numbers=array(4,6,2,22,11); rsort($numbers);結果
Array ( [0] => 22 [1] => 11 [2] => 6 [3] => 4 [4] => 2 ) 次の例では、配列の値に基づいて連想配列を昇順に並べ替えます。
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); asort($age);結果
Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 ) 次の例では、配列のキーに基づいて連想配列を昇順で並べ替えます。
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); ksort($age);結果
Array ( [Ben] => 37 [Joe] => 43 [Peter] => 35 ) 次の例では、配列の値に基づいて連想配列を降順に並べ替えます。
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); arsort($age);結果
Array ( [Joe] => 43 [Ben] => 37 [Peter] => 35 ) 次の例では、配列のキーに基づいて連想配列を降順に並べ替えます。
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); krsort($age);結果
Array ( [Peter] => 35 [Joe] => 43 [Ben] => 37 ) | 関数 | 説明する |
|---|---|
| array() | 配列を作成します。 |
| array_change_key_case() | 配列内のすべてのキーを小文字または大文字に変更します。 |
| array_chunk() | 配列を新しい配列ブロックに分割します。 |
| array_column() | 入力配列内の 1 つの列の値を返します。 |
| array_combine() | 2 つの配列を結合して新しい配列を作成します。 |
| array_count_values() | 配列内のすべての値の出現数をカウントするために使用されます。 |
| array_diff() | 配列を比較して差分を返します(キー値のみが比較されます)。 |
| array_diff_assoc() | 配列を比較し、その差分を返します (キー名とキー値の比較)。 |
| array_diff_key() | 配列を比較し、その差分を返します (キーのみが比較されます)。 |
| array_diff_uassoc() | 配列を比較し、その差を返します (ユーザー定義のキー名比較関数を使用して、キー名とキー値を比較します)。 |
| array_diff_ukey() | 配列を比較し、その差分を返します (ユーザー定義のキー名比較関数を使用して、キー名のみが比較されます)。 |
| array_fill() | 配列に指定されたキー値を入力します。 |
| array_fill_keys() | 指定されたキー名の指定されたキー値を配列に入力します。 |
| array_filter() | コールバック関数を使用して、配列内の要素をフィルタリングします。 |
| array_flip() | 配列内のキーと値を交換します。 |
| array_intersect() | 配列を比較し、交差部分を返します (キー値のみが比較されます)。 |
| array_intersect_assoc() | 配列を比較し、交差部分を返します (キーとキー値を比較)。 |
| array_intersect_key() | 配列を比較し、交差部分を返します (キーのみが比較されます)。 |
| array_intersect_uassoc() | 配列を比較し、共通部分を返します (ユーザー定義のキー比較関数を使用して、キーと値を比較します)。 |
| array_intersect_ukey() | 配列を比較し、共通部分を返します (キーのみが比較され、ユーザー定義のキー比較関数を使用します)。 |
| array_key_exists() | 指定されたキーが配列内に存在するかどうかを確認します。 |
| array_keys() | 配列内のすべてのキーを返します。 |
| array_map() | 配列内の各値をユーザー定義関数に送信し、新しい値を返します。 |
| array_merge() | 1 つ以上の配列を 1 つの配列に結合します。 |
| array_merge_recursive() | 1 つ以上の配列を再帰的に結合します。 |
| array_multisort() | 複数の配列または多次元配列をソートします。 |
| array_pad() | 指定された長さまで配列に値を埋め込みます。 |
| array_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() | 配列を比較し、差分を返します (ユーザー定義のキー比較関数を使用して、値のみが比較されます)。 |
| array_udiff_assoc() | 配列を比較し、その差を返します (キーと値を比較し、組み込み関数を使用してキー名を比較し、ユーザー定義関数を使用してキー値を比較します)。 |
| array_udiff_uassoc() | 配列を比較し、差異を返します (2 つのユーザー定義のキー比較関数を使用してキーと値を比較)。 |
| array_uintersect() | 配列を比較し、交差部分を返します (ユーザー定義のキー比較関数を使用して、値のみが比較されます)。 |
| array_uintersect_assoc() | 配列を比較し、共通部分を返します (キーと値を比較し、組み込み関数を使用してキー名を比較し、ユーザー定義関数を使用してキー値を比較します)。 |
| array_uintersect_uassoc() | 配列を比較し、交差部分を返します (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() | 配列をキーでソートします。 |
| list() | 配列内の値をいくつかの変数に代入します。 |
| natcasesort() | 「ナチュラル ソート」アルゴリズムを使用して、大文字と小文字を区別せずに配列をアルファベット順に並べ替えます。 |
| natsort() | 「ナチュラルソート」アルゴリズムを使用して配列をソートします。 |
| next() | 配列内の内部ポインタを 1 つ進めます。 |
| pos() | current() エイリアス。 |
| prev() | 配列の内部ポインタを 1 ビット巻き戻します。 |
| range() | 指定されたセル範囲を含む配列を作成します。 |
| reset() | 配列の内部ポインタが最初の要素を指すようにします。 |
| rsort() | 配列を逆にソートします。 |
| shuffle() | 配列をシャッフルします。 |
| sizeof() | count() エイリアス。 |
| sort() | 配列を並べ替えます。 |
| uasort() | ユーザー定義の比較関数を使用して、配列内のキーを並べ替えます。 |
| uksort() | ユーザー定義の比較関数を使用して、配列内のキーを並べ替えます。 |
| usort() | ユーザー定義の比較関数を使用して配列を並べ替えます。 |