関連おすすめ: "PHP ARRAY 配列関数 (特別なトピック)"
PHP 配列とは何ですか?
配列は、一連のデータを編成して操作可能な全体を形成するデータのコレクションです。 PHP の配列は複雑ですが、他の多くの高級言語の配列よりも柔軟性があります。
配列 配列は、各値が要素と呼ばれる、順序付けられた変数のセットです。各要素は、キー (添え字とも呼ばれます) と呼ばれる特別な識別子によって区別されます。
配列内の各エンティティには、キーと値という 2 つの項目が含まれています。対応する配列要素はキー値によって取得できます。これらのキーは数値キーまたは関連付けキーです。変数が単一の値を格納するコンテナである場合、配列は複数の値を格納するコンテナです。
PHP 配列は、他の高級言語の配列よりも柔軟性があり、数値をキーとしたインデックス配列だけでなく、文字列または文字列と数値の混合をキーとした連想配列もサポートします。 Java や C++ などの他の高級言語では、数値インデックス付き配列のみがサポートされます。
PHP 配列の構造は以下のとおりです:
PHP には 3 つの配列タイプがあります:
インデックス付き配列: 数値インデックスを持つ配列
連想配列: 指定されたインデックスを持つkey 配列
多次元配列: 1 つ以上の配列を含む配列
おすすめのビデオチュートリアル:
2.翡翠少女般若心経編)》
3.『PHP文字列処理(翡翠少女般若心経編)』
おすすめ学習マニュアル:『php完全独習マニュアル』
PHP配列の使い方
PHP配列の定義[1, 5, 1.1, 'abc' true, false] //可以存储任何数据,此时为'默认下标', [2=>1, 5=>5, 3=>1.1, 7=>'abc' 0=>true]//下标可以任意设定(无需顺序,无需连续) [2=>1, 5, 1=>1.1, 'abc' 0=>true]//可以加下标,也可以不加(默认下标),下标分别是:2,3,1,4,0 //默认下标规则:前面已经用过的最大数字下标+1 [2=>1, 'dd'=>5, 1=>1.1, 'abc' 0=>true]//混合下标,同样遵循默认下标规则 [-2=>1, 'dd'=>5, 1.1, 'abc' true]; //负数下标不算在整数下标中,而只当作字符下标 //则最好3项的下标是:0, 1, 2 [2.7=>1, 'dd'=>5, 1=>1.1, 'abc' 0=>true]//浮点数下标为自动转换为整数,且直接抹掉小数 ['2.7' =>1, 'dd'=>5, '11'=>1.1, 'abc' true]//纯数字字符串下标,当作数字看待, //则此时下标为:2, 'dd', 11, 12, 13 [2=>1, 'dd'=>5, true=>1.1, 'abc' false=>true]//布尔值当下标,则true为1,false为0; [2=>1, 'dd'=>5, 2=>1.1, 'abc' true]//如果下标跟前面的重复,则单纯覆盖前面同名下标的值
$array = [ 'name' => 'zhaosi', 'age' => 20, 'sex' => '女' ];
$array = [ [ 'name' => 'xiaoming', 'age' => 17, 'sex' => '男' ], [ 'name' => 'wanghua', 'age' => 16, 'sex' => '女' ], [ 'name' => 'zhaosi', 'age' => 20, 'sex' => '女' ], [ 'name' => 'zhangsan', 'age' => 22, 'sex' => '男' ], [ 'name' => 'wangli', 'age' => 12, 'sex' => '女' ], [ 'name' => 'zhuhua', 'age' => 14, 'sex' => '男' ] ];
$array = [ [ 'name' => 'xiaoming', 'age' => 17, 'sex' => '男' ], [ 'name' => 'wanghua', 'age' => 16, 'sex' => '女' ], [ 'name' => 'zhaosi', 'age' => 20, 'sex' => '女' ], [ 'name' => 'zhangsan', 'age' => 22, 'sex' => '男' ], [ 'name' => 'wangli', 'age' => 12, 'sex' => '女' ], [ 'name' => 'zhuhua', 'age' => 14, 'sex' => '男' ] ]; foreach ($array as $key => $value) { echo $value['name']; echo $value['age']; echo $value['sex']; }
xiaoming 17 男 wanghua 16 女 zhaosi 20 女 zhangsan 22 男 wangli 12 女 zhuhua 14 男
よく使われるPHP配列関数
1. count() 関数は、配列内の要素の数またはオブジェクト内の属性の数を計算します
int count(mixed var[,int mode])
例:
$a = array( "a", "b", "c", "d" ); echo count($a); //输出个数4 $b = array( "a" => array( 1, 2, 3 ) , "b" => array( 4, 5, 6 ) ); echo count($b, 1); //输出 8 echo count($b); //输出 2y([b]=>2 [d]=>4)
2. array_count_values() 関数は、配列内のすべての値の出現数をカウントするために使用されます。 1 つのパラメータ
array array_count_values(array input)
$array=array(1,"a",1,"b","a"); $newarray=array_count_values($array); print_r($newarray);//输出array([1]=>2 [a]=>2 [b]=>1)
3. array_unique() 関数は、配列内の重複した値を削除し、重複した値のない新しい配列を返すために使用されます
array array_unique(array array)
$a=array("a"=>1,"b"=>2,"c"=>1); print_r(array_unique($a));//输出 array([a]=>1 [b]=>2)
4. array_filter() 関数は、コールバック関数を使用して配列内の要素をフィルターし、その後ユーザー定義の配列を返します。 function filtering
array array_filter(array input [,callback callback])
function myFun($var) { if ($var % 2 == 0) { return true; } } $array = array( "a" => 1, "b" => 2, "c" => 3, "d" => 4 ); print_r($array, "myFun"); //输出 array([b]=>2 [d]=>4)
5. array_walk() 関数は、配列内の各要素にコールバック関数の処理を適用します。成功した場合は true を返し、それ以外の場合は false を返します。
bool array_walk( array &array,callback funcname [,mixed userdata])
function myFunc1($value, $key) { echo "key=$key value=$value"; } $a = ["a" => "lin1", "b" => "lin2", "c" => "lin3"]; array_walk($a, "myFunc1"); function myFunc2($value, $key, $str) { echo "$key $value"; } array_walk($a, "myFunc2"); function myFunc3($value, $key) { $value = "lin.su"; } array_walk($a, "myFunc3"); print_r($a); //$a 是一个引用数组
6 array_map() 関数は次のことができます。複数の配列を処理し、コールバック関数は指定された配列の要素に作用し、ユーザー定義関数が適用された後に配列を返します。
array array_map(callback callback,array arr1[,arry ....])
function myFunc($v1, $v2) { if ($v1 == $v2) { return "same"; } return "different"; } $a = [1, 2, 3]; $b = [1, 4, 3]; print_r(array_map("myFunc", $a, $b)); //输出 array([0]=>same [1]=>difference [2]=>same) print_r(array_map(null, $a, $b));
array( [0]=>array([0]=>1 [1]=>2 [2]=>3) [1]=>array([0]=>1 [1]=>2 [2]=>3) )
関数
説明
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()
配列(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()
ユーザー定義の比較関数を使用して配列を並べ替えます。
以上がPHPの配列の処理(Array関数)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。