ホームページ  >  記事  >  バックエンド開発  >  PHPの配列の処理(Array関数)

PHPの配列の処理(Array関数)

不言
不言オリジナル
2018-04-14 17:22:128848ブラウズ

関連おすすめ: "PHP ARRAY 配列関数 (特別なトピック)"

PHP 配列とは何ですか?

配列は、一連のデータを編成して操作可能な全体を形成するデータのコレクションです。 PHP の配列は複雑ですが、他の多くの高級言語の配列よりも柔軟性があります。

配列 配列は、各値が要素と呼ばれる、順序付けられた変数のセットです。各要素は、キー (添え字とも呼ばれます) と呼ばれる特別な識別子によって区別されます。

配列内の各エンティティには、キーと値という 2 つの項目が含まれています。対応する配列要素はキー値によって取得できます。これらのキーは数値キーまたは関連付けキーです。変数が単一の値を格納するコンテナである場合、配列は複数の値を格納するコンテナです。

PHP 配列は、他の高級言語の配列よりも柔軟性があり、数値をキーとしたインデックス配列だけでなく、文字列または文字列と数値の混合をキーとした連想配列もサポートします。 Java や C++ などの他の高級言語では、数値インデックス付き配列のみがサポートされます。

PHP 配列の構造は以下のとおりです:

PHPの配列の処理(Array関数)

PHP には 3 つの配列タイプがあります:

  • インデックス付き配列: 数値インデックスを持つ配列

  • 連想配列: 指定されたインデックスを持つkey 配列

  • 多次元配列: 1 つ以上の配列を含む配列

おすすめのビデオチュートリアル:

1.「PHP 関数 Array 関数の説明

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])

最初のパラメーターは必須で、計算された配列またはオブジェクトを渡します。 2 番目のパラメーターはオプションで、関数のモードが多次元配列内の配列の要素の数を再帰的に計算するかどうかを指定します。可能な値は 0 または 1 です。0 はデフォルト値であり、多次元配列は検出されません。 1 の場合、多次元配列を検出します

例:

$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)

パラメーターは値を受け入れる必要がある場合。配列内の複数の要素が等しい場合、最初の要素のみが保持され、他の要素は削除され、返された新しい配列内のキー名は変更されません。 array_unique() は、最初に値を文字列としてソートし、その後のみソートします。各値の最初に見つかったキー名を保持し、その後のキー名をすべて無視します。 例:

$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])
パラメーター: 最初のパラメーターは必須であり、フィルター処理された配列の入力が必要です。フィルター処理がカスタマイズされている場合は、ユーザー定義の関数名を文字列の形式で渡します。 true の場合、演算された配列の現在の値が返された結果の配列に含まれ、結果は新しい配列に形成されます。元の配列が連想配列の場合、キー名は変更されません。

例:

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])
最初のパラメーターは必須であり、指定された値が必要です。 input コールバック関数によって処理された配列、2 番目のパラメーターはユーザー定義のコールバック関数に渡され、最初のパラメーターに渡された配列を操作するために使用されます

例:

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)
)

PHP配列関数

関数 説明
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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。