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

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











LaravelのバックエンドでReactアプリを構築する:パート2、React
