1. 配列を結合する
array_merge() 関数は配列を結合し、結合された配列を返します。結果の配列は、最初の入力配列パラメーターで始まり、後続の配列パラメーターが出現する順序で順次追加されます。その形式は次のとおりです:
- 配列 array_merge (配列 array1 array2…,arrayN)
この関数は 1 つ以上の配列のセルを結合し、1 つの配列の値が前の配列に追加されます。結果の配列を返します。
入力配列に同じ文字列キー名がある場合、キー名の後の値で前の値が上書きされます。ただし、配列に数値キーが含まれている場合、後続の値は元の値を上書きせず、追加されます。
配列のみが指定され、その配列が数値的にインデックス付けされている場合、キー名は連続して再インデックス付けされます。
-
-
$fruits = array("リンゴ","バナナ","梨");
$numbered = array("1","2",
"3");
-
$cards = array_merge($フルーツ, $番号付き);
print_r($cards);
// 出力
-
//配列 ([0] => リンゴ [1] => バナナ [2] => 梨 [3] => 1 [4] => 2 [5] => 3 )
?>
-
2. 配列を追加する
array_merge_recursive() 関数は array_merge() と同じで、2 つ以上の配列を結合して結合配列を形成できます。 2 つの違いは、入力配列内のキーが結果配列に既に存在する場合、関数は異なる方法で処理することです。 array_merge() は、以前に存在していたキー/値のペアを上書きし、現在の入力配列のキー/値のペアに置き換えます。一方、array_merge_recursive() は、2 つの値をマージして、元のキーを含む新しい配列を形成します。配列名。 配列を再帰的に追加する配列マージの形式もあります。その形式は次のとおりです: -
-
-
配列 - array_merge_recursive(
array array1,
array array2[…,
array arrayN])
-
PHPコード
-
-
$fruit1 = array("リンゴ" => "赤", "バナナ" => );
- $fruit2 = array("梨" => "黄色", "リンゴ" => );
$result = - array_merge_recursive($fruit1, $fruit2);
print_r($結果);
// 出力
-
// Array ( [apple] => Array ( [0] => red [1] => green ) [banana] => yellow [pear] => yellow )
-
?>-
-
-
3. アレイを接続する
array_combine() 関数は、送信されたキーと対応する値のセットで構成される新しい配列を取得します。その形式は次のとおりです:
Javaコード
配列 array_combine(配列キー,配列値)
2 つの入力配列は同じサイズである必要があり、空にすることはできないことに注意してください。例は次のとおりです
-
PHPコード
"オレンジ");
- $color =
array(- "赤", "黄", "オレンジ");
$fruit = array_combine($name, $color);
print_r($フルーツ);
- // 出力
// 配列 ( [リンゴ] => 赤 [バナナ] => 黄 [オレンジ] => オレンジ )
?>
-
4. 配列 array_slice() を分割する
array_slice() 関数は、キー オフセットから始まりオフセット + 長さで終わる配列の一部を返します。その形式:
PHPコード
-
- 配列
array_slice (- 配列
-
-
offset が正の値の場合は配列の先頭からのオフセット位置から分割が開始され、offset が負の値の場合は配列の末尾からのオフセット位置から分割が開始されます。オプションの長さパラメータが省略された場合、分割はオフセットから開始され、配列の最後の要素まで進みます。長さが指定されており、それが正の場合、配列の先頭からのオフセット + 長さの位置で終了します。逆に、長さが指定されていて負の場合、配列の先頭から count(input_array)-|length| で終了します。例を考えてみましょう:
PHPコード
-
-
- $fruits = array(「リンゴ」, 「バナナ」, 「オレンジ」, 「梨」, 「ブドウ」, 「レモン」, 「スイカ」);
- $subset = array_slice($fruits, 3);
- print_r($subset);
-
- ?>
然后我们使用下负长度:
-
-
- $fruits = array(「リンゴ」, 「バナナ」, 「オレンジ」, 「梨」, 「ブドウ」, 「レモン」, 「スイカ」);
- $subset = array_slice($fruits, 2, -2);
- print_r($subset);
-
- ?>
5. 接合数组 array_splice()
array_splice() 関数は、オフセットの開始からオフセット + 長さの終わりまでのすべての要素を数グループから削除し、削除された要素を数グループの形式で返します。
- array array_splice ( array array , int offset[,length[,array replacement]])
オフセットが正の値の場合、接合は距離集合のオフセット位置から始まり、オフセットが負の値の場合、接合は距離集合の末尾のオフセット位置から始まります。逆に、長さが指定され、正しい値である場合、結合は、距離セットのオフセット + 長さの位置で終了します。結合は、ピッチ数の先頭の count(input_array) の長さの位置で終了します。
Php代
$fruits =
「梨」、
「ブドウ」、- 「レモン」、
「スイカ」); -
-
$subset = array_splice($fruits, 2, -1, array("緑のリンゴ", "赤いリンゴ"));
print_r($フルーツ)
print_r($サブセット);
- // 出力
//配列 ([0] => リンゴ [1] => バナナ [2] => 緑のリンゴ [3] => 赤いリンゴ [4] => スイカ )
//配列 ([0] => オレンジ [1] => 梨 [2] => ブドウ [3] => レモン )
?>
-
-
この機能の使用方法はプログラムから明確にわかります。
-
6. 配列の交差 array_intersect()
-
-
-
-
配列 - array_intersect(
配列 array1,
array array2[,arrayN…])
次の例は、$fruit1 配列に表示され、$fruit2 と $fruit3 にも表示されるすべてのフルーツを返します。
PHPコード
-
-
$fruit1 = array("リンゴ","バナナ","オレンジ");
$fruit2 = array("梨","リンゴ",
"ブドウ");
-
$fruit3 = array("スイカ","オレンジ","リンゴ");
$intersection = array_intersect($fruit1, $fruit2,
$fruit3);
- print_r($交差点);
// 出力
// 配列 ( [0] => Apple )
- ?>
array_intersect() 関数は、2 つの要素が等しく、同じデータ型を持つ場合にのみ、それらの要素が同じであるとみなします。
7. 連想配列の交差 array_intersect_assoc()
- 関数 array_intersect_assoc() は、比較の際に配列のキーも考慮する点を除いて、基本的に array_intersect() と同じです。したがって、最初の配列に出現し、他のすべての入力配列にも出現するキーと値のペアのみが結果配列に返されます。
フォームは次のとおりです:
-
- PHPコード
-
配列
array_intersect_assoc(- 配列 array1,
array array2[,arrayN…])
次の例は、$fruit1 配列に表示され、$fruit2 と $fruit3 にも表示されるすべてのキーと値のペアを返します。
PHPコード
$fruit1 = - array("赤"=>"リンゴ","黄"=>"バナナ","オレンジ"=>"オレンジ");
$fruit2 =
array(
"黄"=>
"梨",
"赤"=>
"リンゴ",
- $fruit3 =
- array("緑"=>"スイカ","オレンジ"=>"オレンジ","赤"=>"リンゴ");
$intersection = array_intersect_assoc($fruit1, $fruit2, $fruit3);
print_r(- $交差点);
// 出力
//配列 ( [赤] => Apple )
?>
- 8. 配列array_diff()の違い
関数 array_diff() は、最初の配列に表示されるが、他の入力配列には表示されない値を返します。この関数は array_intersect() の逆です。
PHPコード
配列 array_diff(
配列 array1,- array array2[,arrayN…])
例は次のとおりです:
-
-
$fruit1 = array("リンゴ","バナナ","オレンジ");
$fruit2 = array("梨","リンゴ",
"ブドウ");
-
$fruit3 = array("スイカ","オレンジ","リンゴ");
$intersection = array_diff($fruit1, $fruit2,
$fruit3);
- print_r($交差点);
// 出力
// 配列 ( [1] => バナナ )
- ?>
9. 連想配列array_diff_assoc()の違い
- 関数 array_diff_assoc() は、比較するときに配列のキーも考慮する点を除いて、基本的に array_diff() と同じです。したがって、最初の配列に現れ、他の入力配列には現れないキーと値のペアのみが結果配列に返されます。その形式は次のとおりです:
- PHPコード
-
- 配列 配列 array1,
array array2[,arrayN…]) -
次の例では、[ yellow ] => Banana のみが返されます。これは、この特別なキーと値のペアが $fruit1 に表示されますが、$fruit2 と $fruit3 には存在しないためです。
PHPコード
- $fruit1 = array("赤"=>"リンゴ","黄"=>"バナナ","オレンジ"=>"オレンジ");
$fruit2 =
array(
"黄"=>
"梨",
"赤"=>
-
- $fruit3 = array("緑"=>"スイカ","オレンジ"=>"オレンジ","赤"=>"リンゴ");
$intersection = array_diff_assoc($fruit1, $fruit2,
$fruit3);
- print_r($交差点);
// 出力
// 配列 ( [黄色] => バナナ )
?>
- 配列を使用する場合、多くの場合、配列を走査する必要があります。多くの場合、配列を反復処理して個々のキーまたは値を取得する (またはキーと値の両方を取得する) 必要があるため、当然のことながら、PHP はこの目的のためにいくつかの関数を提供します。多くの関数は、現在のポインター位置にあるキーまたは値を取得するだけでなく、ポインターを次の適切な位置に移動するという 2 つのタスクを実行します。
10. 現在の配列キー key() を取得します
key() 関数は、input_array 内の現在のポインター位置にあるキーを返します。その形式は次のとおりです:
PHPコード
- 混合キー(配列配列)
次の例では、配列を反復処理してポインタを移動することにより、$fruits 配列のキーを出力します。
- $fruits = array("リンゴ"=>"赤", "バナナ"=>"黄色");
while ($key = key($fruits)) {
- printf("%s
", $key);
次($フルーツ);
}
-
// リンゴ
- //バナナ
-
-
key() が呼び出されるたびにポインタは移動しないことに注意してください。この目的のために、 next() 関数を使用する必要があります。この関数の唯一の機能は、ポインターを進めるタスクを完了することです。 -
- 11. 現在の配列値を取得します()
current() 関数は、配列内の現在のポインター位置にある配列値を返します。その形式は次のとおりです:
PHPコード
混合電流(
配列
配列)
今回は配列値を取得したいと考えて、前の例を変更してみましょう。
- PHPコード
$fruits =
array(
"リンゴ"=>
"赤",
"バナナ"=>
"黄色");
-
printf("%s
", $fruit);
次($フルーツ);
}
// 赤
-
//黄色
-
12. 現在の配列のキーと値を取得します
- each() 関数は、input_array の現在のキーと値のペアを返し、ポインターを 1 位置進めます。その形式は次のとおりです:
- PHPコード
-
-
配列それぞれ(
配列- 配列)
返された配列には 4 つのキーが含まれ、キー 0 とキーにはキー名が含まれ、キー 1 と値には対応するデータが含まれます。 each() が実行される前にポインタが配列の末尾にある場合は、false が返されます。
PHPコード
"リンゴ",
"バナナ", - "オレンジ", "梨");
print_r (それぞれ($フルーツ));
//配列 ([1] => apple [値] => apple [0] => 0 [キー] => 0 )
each() は、配列を反復処理するために list() と組み合わせてよく使用されます。この例は前の例と似ていますが、配列全体がループで出力されます。
- $fruits = array("リンゴ", "バナナ", "オレンジ", "梨");
リセット($フルーツ);
while (list($key,
$val) = each(- $fruits))
-
-
~
}
// 0 => リンゴ
- // 1 => バナナ
-
// 2 =>オレンジ
- // 3 => 梨
-
-
ある配列を別の配列に代入すると元の配列ポインタがリセットされるため、上記の例で $fruits をループ内で別の変数に代入すると無限ループが発生します。 -
-
-
13. in_array() 関数
in_array() 関数は、配列内の特定の値を検索し、値が見つかった場合は true を返し、それ以外の場合は false を返します。その形式は次のとおりです:
PHPコード
boolean in_array(混合針,
配列干し草[,boolean strict]);
変数 apple がすでに配列内にあるかどうかを確認するには、次の例を見てください。存在する場合は、情報を出力します。
PHPコード
array(
"リンゴ",
"バナナ",
"オレンジ",
"梨");
-
echo 「$fruit はすでに配列内にあります」
-
3 番目のパラメータはオプションで、検索時に in_array() に型を強制的に考慮させます。
14. array_key_exists() 関数
-
指定されたキーが配列内で見つかった場合、関数 array_key_exists() は true を返し、それ以外の場合は false を返します。その形式は次のとおりです:
PHPコード
-
ブール値 array_key_exists(混合キー,配列
配列);
次の例では、配列キーでリンゴを検索し、見つかった場合は、この果物の色を出力します。
PHPコード
-
$fruit["リンゴ"] = "赤";
$フルーツ["バナナ"] =
"黄色";
- $fruit[「梨」] = 「緑」
- if(array_key_exists("リンゴ", $フルーツ)){
-
printf("リンゴの色は %s",$fruit["リンゴ"]);
}
-
//リンゴの色は赤いです
- 15. array_search() 関数
-
- array_search() 関数は、配列内の指定された値を検索し、見つかった場合は対応するキーを返し、それ以外の場合は false を返します。その形式は次のとおりです:
PHPコード
混合 array_search(混合針,
配列干し草[,ブール値厳密])
次の例では、$fruits で特定の日付 (12 月 7 日) を検索し、見つかった場合は、対応する州の関連情報を返します。
-
PHPコード
$fruits["リンゴ"] =
"赤";
$fruits["バナナ"] =
"緑";
- $founded = array_search("グリーン", $フルーツ);
if($設立)
-
printf("%s が %s で見つかりました。",$founded, $fruits[$founded]);
-
//スイカが緑で見つかりました。
-
16. array_keys() 関数
array_keys() 関数は、検索された配列内で見つかったすべてのキーを含む配列を返します。その形式は次のとおりです:
-
PHPコード
- 配列 array_keys(配列 array[,混合検索値])
-
- オプションのパラメーター search_value が含まれている場合、その値に一致するキーのみが返されます。次の例では、$fruit 配列内で見つかったすべての配列を出力します:
PHPコード
$fruits[
"リンゴ"] = "赤";
$fruits[
"スイカ"]=
"緑";
- $keys = array_keys($fruits);
print_r($keys);
//配列 ( [0] => リンゴ [1] => バナナ [2] => スイカ )
17. array_values() 関数
array_values() 関数は、配列内のすべての値を返し、返された配列に数値インデックスを自動的に提供します。その形式は次のとおりです:
次の例は、$fruits にある各要素の値を取得します。
- $fruits["リンゴ"] = "赤";
$fruits["バナナ"] = "黄色";
- $fruits["スイカ"]="緑";
$values = array_values($fruits);
print_r(- $値);
//配列 ([0] => 赤 [1] => 黄 [2] => 緑 )
-
配列を拡張したり、配列の一部を削除したりする必要がある場合があります。PHP には、配列を拡張および縮小するための関数がいくつか用意されています。これらの関数は、さまざまなキュー実装 (FIFO、LIFO) をエミュレートしたいプログラマに便利です。名前が示すように、これらの関数の関数名 (プッシュ、ポップ、シフト、およびシフト解除) は、その機能を明確に反映しています。
追記: 従来のキューは、要素の削除と要素の追加の順序が同じであり、先入れ先出し (FIFO) と呼ばれます。対照的に、スタックは追加されたときと逆の順序で要素が削除される別のデータ構造です。これは後入れ先出し (LIFO) になります。 -
- 18. 配列の先頭に要素を追加します
-
array_unshift() 関数は配列の先頭に要素を追加します。既存のすべての数値キーは、配列内の新しい位置を反映するように変更されますが、関連するキーは影響を受けません。その形式は次のとおりです:
PHPコード
int
array_unshift(array
array,混合変数[,混合変数])
次の例では、$fruits 配列の前に 2 つのフルーツを追加します。
-
$fruits = array("リンゴ","バナナ");
array_unshift(
$フルーツ,
"オレンジ","洋梨")
-
19. 配列の末尾に要素を追加します
array_push() 関数の戻り値は int 型で、データをプッシュした後の配列内の要素の数です。複数の変数をパラメーターとしてこの関数に渡し、複数の変数を同時に配列にプッシュできます。 。その形式は次のとおりです:
-
PHPコード
(配列 配列,混合変数 [,混合変数...])
次の例では、さらに 2 つのフルーツを $fruits 配列に追加します。
PHPコード
-
$fruits = array("リンゴ","バナナ");
array_push($フルーツ,"オレンジ",
"梨") -
//$fruits = array("リンゴ","バナナ","オレンジ","梨")
-
20. 配列の先頭から値を削除します
array_shift() 関数は、配列内で見つかった要素を削除して返します。その結果、数値キーを使用している場合は、対応するすべての値が下にシフトされますが、連想キーを使用する配列は影響を受けません。その形は
PHPコード
配列)
-
次の例では、$fruits 配列の最初の要素 apple を削除します。
PHPコード
"バナナ",
"オレンジ",- "梨");
$フルーツ = array_shift($フルーツ);
// $fruits = array("バナナ","オレンジ","梨")
// $fruit = "リンゴ" ;
-
21. 配列の末尾から要素を削除します
-
-
混合
array_pop(array target_array)
;
次の例は、$states 配列から最後の状態を削除します。
- $fruits = array("リンゴ",
"バナナ",
"オレンジ",
"梨");
$fruit =
array_pop(
$fruits);
//$fruits = array("リンゴ","バナナ","オレンジ");
-