この文書は、PHP学習マニュアルを使っているうちに、配列関数がよく使われることに気づき、今後参照しやすくするために整理してみます。 。
構文: array array([mixed ...]);
説明:
パラメータの配列を返します。この関数は通常の関数ではなく、主に配列を表すために使用されます。
$arr=array(0=>123,2=>’テレ’);
array_count_values --- 配列のすべての値を計算します
構文: 配列 array_count_values(配列入力);
説明:
この関数は計算された配列の結果を返します。返される配列のインデックス値はパラメーター入力の値であり、配列の値はパラメーター入力が出現する回数です。
例:
$array = array(1, "hello", 1, "world", "hello");
array_count_values($array); // array(1 => 2, "hello" => 2, "world" => 1) を返します
?>
構文: 配列 array_diff (配列 array1, 配列 array2 [, array ...])
説明:
Array_diff() は、他の引数に現れない array1 のすべての値を返します。この関数は配列型を返し、返された配列のインデックス値は保持されます。
例:
$array1 = 配列 ("a" => "緑"、"赤"、"青");
$array2 = array ("b" => "緑"、"黄"、"赤");$result = array_diff ($array1, $array2);
?>
これにより、$result に array("blue") が含まれます
説明: この関数は配列を反転順序で返します。
例:
$trans = array_flip($trans);
$original = strtr($str, $trans);
?>
説明:
Array_intersect() は、すべての引数に現れる array1 のすべての値を返します。この関数は配列型を返し、返された配列のインデックス値は保持されます。
例:
$array1 = array ("a" => "緑"、"赤"、"青");
$array2 = array ("b" => "緑"、"黄"、"赤");
$result = array_intersect ($array1, $array2);
?>
これにより、 $result に array( "a" => "green" , "red" ) が含まれます
説明:
この関数は、パラメータ入力から数値と文字列のインデックス値を返します。パラメータ search_value が指定されている場合は、指定された値のインデックス値のみが返されます。入力。
例:
$array = array(0 => 100, "color" => "red");
array_keys($array); // array(0, "color") を返します
$array = 配列(1, 100, 2, 100);
array_keys($array, 100) // 配列(0, 2)を返します
?>
説明:
この関数は、2 つ以上の配列を結合して、それらの値が前の配列に追加されるようにします。入力配列に同じ文字列インデックス値がある場合、後続の値は前の値を上書きします。ただし、配列は同じ数値インデックスを持ちますが、後続の値は元の値を上書きせず、加算されます。
例:
$array1 = array("color" => "赤", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "台形");
array_merge($array1, $array2);
?>
生成される配列はarray("color" => "green", 2, 4, "a", "b", "shape" => "trapezoid")になります
説明:
Array_merge_recursive() 2 つ以上の配列を結合して、それらの値が前の配列に追加されるようにします。
入力配列が同じ文字列インデックス値を持つ場合、これらの値は再帰的に配列にマージされます。そのため、値自体が配列の場合、この関数はそれを別の配列にマージします。いずれにせよ、配列には同じ数値インデックスがありますが、後続の値は前の値を上書きせず、それに追加されます。
例:
$ar1 = array ("color" => array ("favorite" => "red"),
;$ar2 = 配列 (10, "色" => 配列 ("お気に入り" => "緑", "青"));
$result = array_merge_recursive ($ar1, $ar2);?>
結果の配列は次のようになります
array( "色" => array ( "お気に入り" => array( "赤" , "緑" ), "青" ),5 ,10)
説明:
Array_multisort() を使用すると、複数の配列または多次元配列を一度にソートできます。
入力配列はテーブルの列とみなされ、列 (行) に従ってソートされます。これは、SQL ORDER BY 句の機能と似ています。この配列は、最初のソート配列です。の列 (値) は、次の入力配列と同じ順序で並べ替えられます。
この関数の引数構造は独特ですが、柔軟性があります。最初の引数は配列である必要があり、後続の引数は配列または次のリストのソート フラグの 1 つにすることができます。
ソート順フラグ:
SORT_ASC - 昇順で並べ替えます
SORT_DESC - 降順に並べ替えます
ソートタイプフラグ:
SORT_REGULAR - 通常の比較項目
SORT_NUMERIC - 項目を数値的に比較します
SORT_STRING - 項目を比較する文字列として扱います
各配列の後に指定された同じタイプの 2 つのフラグは使用できません。ソート フラグは、この配列にのみ影響し、引数の後のデフォルトの SORT_ASC および SORT_REGULAR にリセットされます。
成功した場合は true を返し、失敗した場合は false を返します。
例:
$ar1 = 配列 ("10", 100, 100, "a");
$ar2 = 配列 (1,3,"2",1);
array_multisort ($ar1,$ar2);
?>
この例を並べ替えると、最初の配列は 10、「a」、100、100 になり、2 番目の配列は 1、1、2、「3」になります。
例:
$ar = 配列 (配列 ("10", 100, 100, "a"), 配列 (1, 3, "2", 1));
array_multisort ($ar[0], SORT_ASC, SORT_STRING,
)?>
この例でソートすると、最初の配列は 10 、 100 、 100 、 "a" (文字列として扱われ、昇順にソートされます)、2 番目の配列は 1 、 3 、 "2 " 、 1 (数値として扱われ、降順に並べ替えられます)。
array_pad --- 指定された長さと値で配列をパディングします
この関数は、pad_size のサイズと Pad_value の値をもつ配列に配列を埋め、パラメーター Pad_size が正の数である場合、配列の右側に埋め込まれます。負の数の場合は、配列の左側に入力されます。パラメーターpad_size の絶対値が配列入力の長さ以下の場合、パディングは行われません。
例:
$input = 配列(12, 10, 9);
$result = array_pad($input, 5, 0);
// 結果は array(12, 10, 9, 0, 0) です
$result = array_pad($input, -7, -1);
// 結果は array(-1, -1, -1, -1, 12, 10, 9) です
$result = array_pad($input, 2, "noop");
// パディングされていません
?>
array_pop --- 配列の最後の要素を取得します
例:
$stack = array("オレンジ", "リンゴ", "ラズベリー");
$fruit = array_pop($stack);
?>
この後、$stack の要素は「オレンジ」と「リンゴ」の 2 つだけになり、$fruit は「ラズベリー」になります。
array_push --- 配列の末尾に 1 つ以上の要素を追加します
この関数はパラメータ配列をスタックとして扱い、拡張変数はパラメータ配列の末尾の上にあり、パラメータ配列の長さは変数の数に応じて増加します。
同じ効果があります:
$array[ ] = $var;
?>
各変数を繰り返します。
配列内の新しい要素の数を返します。
例:
$stack = 配列(1, 2);
array_push($stack, "+", 3);
?>
この例では、$stack に 4 つの要素: 1、2、"+"、および 3 が含まれるようにします
構文: 混合 array_rand (配列入力 [, int num_req])
説明:
Array_rand() は、配列から 1 つ以上の値をランダムに選択する場合に非常に便利です。引数 num_reg は、選択する値の数を示します (指定しない場合)。それは1です。
単一の値のみを選択した場合、array_rand() はランダムな値のインデックスを返します。それ以外の場合は、配列に配置されたランダム値のインデックスを返し、この配列を返します。このようにして、ランダムなインデックス値を選択するだけでなく、配列値を出力することもできます。
srand() を呼び出してランダム シードを設定することを忘れないでください。
例:
srand ((double) microtime() * 10000000);
$input = array ("ネオ"、"モーフィアス"、"トリニティ"、"サイファー"、"タンク");
$rand_keys = array_rand ($input, 2);
print $input[$rand_keys[0]]."n";
$input[$rand_keys[1]]."n" を印刷します
?>
構文: array array_reverse(array 配列);
説明: この関数は、パラメーター配列の要素の順序を逆にして、新しい配列を返します。
例:
$input = array("php", 4.0, array("green", "red"));
$result = array_reverse($input);
?>
この例では、$result が array(array("green", "red"), 4.0, "php") になります。
構文:mixed array_shift(array 配列);
説明:
この関数は、配列の最初の要素を移動して返し、配列を 1 要素だけ短くして、すべてを下に移動します。
例:
$args = array("-v", "-f");
$opt = array_shift($args);
?>
この例では、$arge に要素「-f」を持たせ、$opt に「-v」を持たせます。
構文: array array_slice(array array, int offset, int [length] );
説明:
この関数は、配列から要素の一部を返します。offset が正の数の場合、取得された部分は配列内のオフセットから始まり、offset が負の数の場合、配列の末尾から始まります。 length が指定され、それが正の数の場合、長さの要素が取得されます。 length が負の数の場合、配列の末尾の長さの要素で停止します。このパラメータを省略すると、返される部分はオフセットから取得されます。配列の最後まで。
例:
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2) // "c"、"d"、および "e" を返します
;$output = array_slice($input, 2, -1) // "c"、"d" を返します
$output = array_slice($input, -2, 1) // "d" を返します
;$output = array_slice($input, 0, 3) // "a"、"b"、および "c" を返します
?>
構文: array array_splice(配列入力, int オフセット, int [長さ], 配列 [置換]);
説明:
この関数は、配列入力をオフセットから長さまで削除します。パラメータ置換が提供されている場合は、置換の要素に置き換えられます。
offset が正の数の場合、削除は配列配列の先頭のオフセット位置から開始されます。 offset が負の数の場合、削除は配列配列の末尾から開始されます。
length パラメータが省略された場合、削除される部分は、length が指定され、それが正の数の場合、length 要素が削除されます。削除された部分は配列の長さ要素の終わりで終わります。
置換パラメータが指定されている場合、削除された要素はこの配列の要素に置き換えられます。オフセットと長さが削除されない場合、置き換えられる要素はオフセットで指定された位置に挿入されます。
次の意味は同等です:
array_push($input, $x, $y) array_splice($input, count($input), 0, array($x, $y))
array_pop($input) array_splice($input, -1)
array_shift($input) array_splice($input, 0, 1)
array_unshift($input, $x, $y) array_splice($input, 0, 0, array($x, $y))
$a[$x] = $y array_splice($input, $x, 1, $y)
例:
$input = array("赤", "緑", "青", "黄");
array_splice($input, 2); // $input は array("red", "green") になりました
array_splice($input, 1, -1); // $input は array("red", " yellow") になりました
array_splice($input, 1, count($input), "オレンジ"); // $input は array("red", "orange")
array_splice($input, -1, 1, array("black", "maroon"));
// $input は array("red", "green", "blue", "black", "maroon") になりました
?>
语法 : array array_unique (array 配列)
说明:
Array_unique() は、入力された配列の数値集合を取得し、同じ値がない数値集合を返します。インデックスは保持されます。
例:$input = array ("a" => "緑", "赤", "b" => "緑", "青", "赤");
$result = array_unique ($input);
?>
これは$resultを使用しますarray ( "a" => "green" , "red" , "blue");
说明:
この関数は、配列の先頭に要素を追加し、配列内の新しい要素の数を転送します。
例:
$queue = array("p1", "p3");
array_unshift($queue, "p4", "p5", "p6");
?>
この例では、$queue に 5 つの要素: "p4"、"p5"、"p6"、"p1"、および "p3" が含まれます。
array_values --- 回数グループすべての值
この関数は、数値配列からすべての値を返します。
例:
$array = array("サイズ" => "XL", "カラー" => "ゴールド");
array_values($array); // array("XL", "gold") を返します
?>
array_walk --- 使用する自定関数数能処理数組の每元素
数arrの各要素と関数名funcを対応させ、要素が関数funcに渡される最初のパラメータ、関数funcが2つ以上のパラメータを超えた場合、警告メッセージが発生する可能性があり、この関数の前で警告メッセージを抑制する必要があります。 '@'、つまり @array_walk を追加するか、error_reporting を使用します。
注意: この関数は数値集合の各要素を順番に挿入するため、要素の変更はすべて数値集合自体に影響を与えます。注意 : PHP4.0 では、インデックス (キー) とユーザーデータ (ユーザーデータ) が関数関数に送信されるようになりました。PHP4 では、array_walk() は数値を再設定 (リセット) しないように設定されているため、reset() を呼び出す必要があります
例:
$fruits = array("d" => "レモン" , "a" => "オレンジ" ,"b" => "バナナ" , "c" => "リンゴ");
関数 test_alter($item1) {
$item1 = '偽';
}
関数 test_print($item2) {
エコー "$item2
n";
}
array_walk($fruits , 'test_print');
リセット ($fruits);
array_walk($fruits , 'test_alter');
リセット ($fruits);
array_walk($fruits , 'test_print');
?>
arsort --- 颠倒数组の顺序と维持索引值の关系
$fruits = array("d" => "レモン" , "a" => "オレンジ" , "b" => "バナナ" , "c" => "リンゴ");
arsort($fruits);
for(reset($fruits) ; $key = key($fruits) ; next($fruits)) {
echo "fruits[$key] = " .$fruits[$key]。 「ん」;
}
?>
この例の結果は次のとおりです:
果物[a] = オレンジ
フルーツ[d] = レモン
果物[b] = バナナ
果物[c] = リンゴ
配列の結果の順序が逆になっており、インデックス値と要素の関係は同じままであることがわかります。
構文: void asort(array 配列);
説明:
この関数は配列の要素を a-z に再配置し、元のインデックス値と要素の対応関係を維持します。この関数は主に配列の要素を再配置するために使用されます。
例:
$fruits = array("d" => "レモン" , "a" => "オレンジ" , "b" => "バナナ" , "c" => "リンゴ");
盛り合わせ($フルーツ);
for(reset($fruits) ; $key = key($fruits) ; next($fruits)) {
echo "fruits[$key] = " .$fruits[$key];
}
?>
この例の結果は次のとおりです:
果物[c] = リンゴ
果物[b] = バナナ
フルーツ[d] = レモン
果物[a] = オレンジ
配列のフルーツが再配置されており、インデックス値と要素の関係は同じままであることがわかります。
構文: 配列コンパクト(文字列変数名 | 配列変数名, [...] );
説明:
この関数は、変数パラメーターの数を受け取ります。各変数には、変数名を含む文字列または変数の配列名を含めることができます。
この関数は、シンボルテーブル内の変数名を検索し、出力配列に追加します。これにより、変数の名前がインデックス値になり、変数の内容がこのインデックス値の値になります。この関数は同じです。 as extract( ) 代わりに、この関数は出力配列を返します。
例:
$city = "サンフランシスコ";
$state = "CA";
$event = "シーグラフ";
$location_vars = array("都市", "州");
$result = Compact("イベント", $location_vars);
?>
これ以降、$resultは配列("event" => "SIGGRAPH"、"city" => "San Francisco"、"state" => "CA")になります
構文: int count(mixed var);
説明:
パラメータ var の要素数を返します。最も典型的な例は、配列内の要素数を計算することです。
変数が設定されていない場合は0が返され、変数が配列でない場合は1が返されます。
警告:
変数が設定されていない場合、count() は 0 を返すことがありますが、変数の先頭が空の配列である場合も 0 を返します。 isset() を使用してテストできます。
構文: 混合電流(配列 配列);
説明:
各配列には、現在の要素を指す内部ポインターがあります。このポインターは、プログラムが移動ポインターを使用して関数を実行するまで、配列に挿入された最初の要素を指します。この関数は、内部ポインターが指す配列要素を返します。内部インジケーターが配列要素の外側を指している場合、インジケーターの位置は移動しません。 false が返されます。配列に空の要素 (0 または "") が含まれている場合は、false が返されます。
構文: array each(array 配列);
説明:
配列から現在のキーと値のペアを返し、配列カーソルを前方に移動します。返される配列には 4 つの要素 (0、1、キー、値) が含まれます。要素 0 と key は配列のインデックス値の名前で、1 と value は要素のデータです。配列の内部ポインタが配列の末尾を指している場合、この関数は false を返します。
例:
$foo = array("ボブ" , "フレッド" , "ジュッシ" , "ジョニ");
$bar = each($foo);
?>
$bar には次のキーと値のペアが含まれるようになりました:
0 => 0
1 => 'ボブ'
キー => 0
値 => 'ボブ'
$foo = array("ロバート" => "ボブ" , "セッポ" => "セピ");
$bar = each($foo);
?>
$bar には次のキーと値のペアが含まれるようになりました:
0 => 'ロバート'
1 => 'ボブ'
キー => 'ロバート'
値 => 'ボブ'
それぞれは通常、リストと一緒に使用されます。例: $HTTP_POST_VARS
例:
echo "POST メソッドで送信された値:
";
while(list($key , $val) = each($HTTP_POST_VARS)) {
echo "$key => $val
";
}
?>
each() の実行後、配列のカーソルは配列の次の要素の左側にあり、配列の末尾に達すると、カーソルは最後の要素に移動します。
構文: end(配列 配列);
説明:
この関数は、配列の内部インデックスを最後の要素に設定します
構文: void extract(array var_array, int [extract_type], string [prefix]);
説明:
この関数は、配列から現在のシンボル テーブルに変数を入力し、配列 var_array を取得し、インデックス値を変数名として、値を変数値として扱います。現在のシンボル内のキーと値のペアごとに変数を作成します。テーブル。extract_type と prefix の条件付き。
extract() は既存の変数をチェックします。抽出パラメータは次のいずれかの値になります。
EXTR_上書き衝突が発生した場合、既存の変数は上書きされます
EXTR_SKIP
衝突が発生した場合、既存の変数は上書きされません
EXTR_PREFIX_SAME
衝突が発生した場合、パラメータのプレフィックスがプレフィックスの前に追加されて新しい変数になります
EXTR_PREFIX_ALL
すべての変数の大文字にパラメータ接頭辞を追加します
パラメータ extract_type が指定されていない場合は、EXTR_OVERWRITE が使用されます。
注: パラメーターの接頭辞は、extract_type が EXTR_PREFIX_SAME または EXTR_PREFIX_ALL の場合にのみ必要です。
例:
/* $var_array が wddx_deserialize から返された配列であるとします */
$size = "大";
$var_array = array("color" => "青", "サイズ" => "中","形状" => "球");
extract($var_array, EXTR_PREFIX_SAME, "wddx");
print "$color、$size、$shape、$wddx_sizen";
?>
上記の例では次が生成されます:
青、大、球、中
EXTR_PREFIX_SAME を指定し、$wddx_size の結果が作成されているため、EXTR_OVERWRITE が使用されている場合、$size の値は中程度になります。は、$wddx_color、$wddx_size、$wddx_shape という名前の新しい変数になります。
説明:
この関数は、配列 haystack を検索して、配列内にパラメーター neede が存在するかどうかを確認し、見つかった場合は true を返し、それ以外の場合は false を返します。
例:
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os))
「イリックスを手に入れた」を印刷します;
?>
説明:
この関数は、現在の配列インジケーターが指すインデックスを返します。
説明:
インデックス値と配列値の元の関係を維持したまま、インデックス値の逆順(z-a)に配列を並べ替えます。
例:
$fruits = array("d"=>"レモン","a"=>"オレンジ","b"=>"バナナ","c"=>"リンゴ");
krsort($fruits);
for(reset($fruits); $key = key($fruits); next($fruits)) {
echo "fruits[$key] = ".$fruits[$key]."n";
}
?>
この例の結果は次のとおりです:
フルーツ[d] = レモン
果物[c] = リンゴ
果物[b] = バナナ
果物[a] = オレンジ
説明:
この関数は、インデックス値に従って配列を a-z に並べ替えます
例:
$fruits = array("d" => "レモン" , "a" => "オレンジ" , "b" => "バナナ" , "c" => "リンゴ");
ksort($fruits);
for(reset($fruits) ; $key = key($fruits) ; next($fruits)) {
echo "fruits[$key] = " .$fruits[$key];
}
この例の結果は次のとおりです:
果物[a] = オレンジ
果物[b] = バナナ
果物[c] = リンゴ
フルーツ[d] = レモン
説明:
array() と同様に、この関数は通常の関数ではありません。この関数は、操作で変数のリストを割り当てるために使用されます。
例:
<テーブル>
print("
"
説明:
配列の内部インデックスが指す次の要素を返します。次の要素がない場合は false が返されます。
この関数は current() に似ていますが、1 つの違いは、この関数は要素を返す前に配列の内部インデックスを移動することです。つまり、この関数は次の配列の要素と、移動された配列の内部インデックスを返すことになります。配列の内部ポインタが配列の要素の外側を指している場合は、 false が返されます。
警告: 配列に空の要素が含まれる場合、この関数は false を返します。空の要素を含む配列を処理するには、each() 関数を使用します。
説明:
この関数は current() のエイリアスです。
説明:
前の配列の内部ポインタが指す配列要素を返します。前の要素がない場合は false を返します。
警告: 配列に空の要素が含まれる場合、この関数は false を返します。空の要素を含む配列を処理するには、each() 関数を使用します。
この関数は next() に似ています。prev() は、next() で前方に移動するのではなく、配列の内部インデックスを後方に移動します。
説明:
整数の配列を低位から高位まで返します
説明:
reset() は、配列の内部インデックスを最初の要素にリセットします。
reset() は配列の最初の要素の値を返します。
説明:
この関数は配列の値をz-aで並べ替えます。
例:
$フルーツ = array("レモン","オレンジ","バナナ","リンゴ");
rsort($fruits);
リセット($フルーツ);
for ($i=0; $i エコー
"フルーツ[$i] = ".$フルーツ[$i]." } ?> この例の結果は次のようになります: フルーツ[0] =
オレンジ 果物[1] =
レモン 果物[2] =
バナナ 果物[3] = リンゴ フルーツはz-aの順に並んでいます
説明: この関数は、配列の要素を任意の順序で並べ替えます。 例:
$numbers = 範囲(1,20);
シャッフル($numbers);
";シャッフル
--- 配列の順序を間違えてください
配列内の要素の数を返します。
この関数は、配列の要素を a ~ z に配置します。
並べ替え($フルーツ);
for(reset($fruits); $key = キー($fruits); 次($fruits)) {
エコー "フルーツ[$key] = ".$フルーツ[$key]."n";
}
?>
この例の結果は次のようになります:
フルーツ[0] = りんご
果物[1] = バナナ
果物[2] = レモン
フルーツ[3] = オレンジ
フルーツはa〜zの順に並んでいます
オプションの 2 番目のパラメーター sort_flags は、次の値を使用して並べ替えを変更できます:
ソートタイプフラグ:
SORT_REGULAR - 通常の比較項目
SORT_NUMERIC - 項目を数値的に比較します
SORT_STRING - 項目を比較する文字列として扱います
構文: void uasort(配列 配列、関数 cmp_function);
説明:
この関数は、配列のインデックス値と要素の元の関係を維持しながら、ユーザー定義関数に従って配列を並べ替えることができます。
usort()を参照 uksort()の使用例があります
構文: void uksort(配列 配列、関数 cmp_function);
説明:
この関数は、ユーザー定義関数に従って配列のインデックス値を並べ替えます。
例:
関数 mycompare($a, $b) {
if ($a == $b) 0 を返す;
return ($a > $b) ? -1 : 1;
}
$a = array(4 => "4", 3 => "3", 20 =>; "20"、10 => "10");
uksort($a, mycompare);while(list($key, $value) = each($a)) {
エコー "$key: $valuen";
}
?>
この例の結果は次のようになります:
20:20 10:10 4:4 3:3
説明:
この関数は、ユーザー定義関数に従って配列の値を並べ替えます。
例:
関数 cmp($a,$b) {
if ($a == $b) 0 を返します。
リターン ($a >$b) -1:1;}
$a = 配列(3,2,5,6,1);
usort($a, cmp);while(list($key,$value) = each($a)) {
エコー "$key: $valuen";
}
?>
この例の結果は次のようになります:
0:6 1:5 2:3 3: 2 4:1
http://www.bkjia.com/PHPjc/985692.htmlwww.bkjia.com
true