ホームページ  >  記事  >  バックエンド開発  >  ハイライト: PHP 配列のさまざまな操作と関数のまとめ_PHP チュートリアル

ハイライト: PHP 配列のさまざまな操作と関数のまとめ_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:32:59679ブラウズ

Web プログラミングにとって最も重要なことは、データへのアクセス、読み取り、書き込みです。文字列、配列、ファイルなど、多くの保存方法が存在する場合があります。配列は、PHP データ アプリケーションにおいて最も重要なメソッドであると言えます。 PHP には多くの配列関数があります。今後の学習のために、私が学んだことをまとめます。

1. 配列の定義

配列の定義はarray()メソッドを使用して定義され、空の配列を定義できます:

リーリー

2. 配列を作成する

コンパクト()

compact() 関数 - 1 つ以上の変数 (配列を含む) を配列に変換します: 配列コンパクト (mixed $varname [,mixed $... ])。

リーリー

compact() 関数は、2 つ以上の変数を配列に変換するために使用されます (もちろん配列変数も含まれます)。パラメーターは、$ を含む完全な名前ではなく、変数の名前です。反対の関数は extract() で、名前が示すように、キー値を文字列名として、配列値を文字列値として、配列を単一の文字列に変換します。

実行結果:

リーリー

array_combine()

array_combine()—2 つの配列を 1 つの配列に再編成します。1 つはキー値、もう 1 つは値として使用されます: array array_combine (array $keys, array $values)

リーリー

array_combine 関数については詳しく説明しません。読めば誰でも理解できるでしょう。

実行結果:

リーリー

範囲()

range() 関数 - 指定された範囲内で配列を作成します:

リーリー

array_fill()

array_fill() 関数 - 配列を埋める関数:

リーリー

実行結果:

リーリー

3. 配列のトラバーサル

foreachトラバーサル

foreach ($value としての配列式){}

foreach ($key => $value としての配列式){}

リーリー

実行結果:

リーリー

while ループトラバーサル

while ループトラバーサルは一般的に list 関数と組み合わせられます。以下は例です。 リーリー

ループトラバーサル用

リーリー

実行結果:

リーリー

4. 配列ポインタの操作

関連する機能には、リセット、前へ、終了、次へ、現在、およびそれぞれが含まれます。

例 1: 次と前

リーリー

実行結果:

リーリー

例2: 各関数ポインタ操作

リーリー

実行結果:

リーリー

5. 配列の追加と削除の操作

配列メンバーを追加する

例 1: $num[] = 値は直接割り当てられ、配列の末尾に追加されます:

リーリー

実行結果:

リーリー

例 2: array_pad 関数、配列の先頭と末尾の選択的な追加

リーリー

実行結果:

リーリー

例 3: プッシュ操作の追加 (array_push):

リーリー

実行結果:

リーリー

例 4: array_unshift() は先頭に配列メンバーを追加します

リーリー

実行結果:

リーリー

注: array_unshift() 関数を使用すると、配列のキー値は 0 から始まります。

配列メンバーを削除する

例 1: unset() コマンドは配列メンバーまたは配列を削除します。 リーリー

実行結果: (実行エラーと説明配列も削除され、存在しなくなります)

リーリー

例 2: array_splice() 関数は配列メンバーを削除します

リーリー

例 3: array_unique は配列内の重複した値を削除します:

リーリー

実行結果:

リーリー

例 4: array_merge、array_merge_recursive 配列のマージ

リーリー

実行結果:

リーリー

注: 1. array_merge のキー名が数値の場合、インデックスは再確立され、同じ文字列キー名が見つかった場合、後のキー名が前のキー名を上書きします。 2. array_merge_recursive 関数の機能は、同じ文字列のキー名単位を配列に統合することです。

6. 配列のキーと値の操作

例 1: in_array() は配列内に特定の値が存在するかどうかを検出します

リーリー

実行結果: 配列内に存在します

例 2: key() は配列の現在のキー名を取得します:

リーリー

この例の結果は動的結果、範囲 (0-8) であり、結果のデモは実行されません。

例 3: list() 関数は、配列内の値を指定された変数に代入します:

リーリー

例 4: array_flip() は配列のキーと値を交換します:

リーリー

実行結果:

リーリー

例 5: array_keys()、array_values() は配列内のすべてのキーと値を返します:

リーリー

実行結果:

リーリー

例 6: array_search() 検索値:

リーリー

結果: 値 0 が存在します

array_search()関数の戻り値はfalse、0、NULLの場合があるので、判断する際は「===」

に注意してください

7. 配列の並べ替え

例 1: sort()、rsort()/asort()、arsort() による配列の並べ替え:

リーリー

結果:

リーリー

sort() 関数と rsort() 関数は配列を低位から高位にソートし、戻り結果はブール値です。

asort() 関数と arsort() 関数はキー値の並べ替えを保持し、並べ替え後にキー値のインデックスは再作成されません。

例 2: 配列の順序を乱す - shuffle() 関数:

<?PHP
    $array = array("a","b","c","d");
    shuffle($array);//从低到高排序
    print_r($array);
?>

结果为动态结果:

Array ( [0] => c [1] => a [2] => d [3] => b )

shuffle的结果有点随机的意味,每次刷新都不一样。

实例三:array_reverse()数组反向:

<?PHP
    $array = array("d","b","a","c");
    $array = array_reverse($array);//从低到高排序
    print_r($array);
?>

运行结果:

Array ( [0] => c [1] => a [2] => b [3] => d )

实例四:自然排序算法——natsort()和natcasesort();

<?PHP
    $array = array("sort2","Sort5","sort1","sort4");
    natsort($array);//从低到高排序
    print_r($array);
    echo "<br />";
    natcasesort($array);
    print_r($array);
?>

结果:

Array ( [1] => Sort5 [2] => sort1 [0] => sort2 [3] => sort4 ) 
Array ( [2] => sort1 [0] => sort2 [3] => sort4 [1] => Sort5 )

natsort()、natcasesort()对数组进行自然排序,就是使用数字的正常排序算法。natcasesort会忽略大小写。

实例五:对数组进行键值排序ksort():

<?PHP
    $array = array(1=>"sort2",4=>"Sort5",2=>"sort1",3=>"sort4");
    ksort($array);//从低到高排序
    print_r($array);
?>

结果:

Array ( [1] => sort2 [2] => sort1 [3] => sort4 [4] => Sort5 )

注意:ksort()函数重新建立了索引。

8. 数组的其他用法

   cout($array) --------统计数组的单元个数
  array_diff($array1,$array2)----------统计数组之间的不同点,返回第一个数组中有而第二个数组中没有的。
  array_diff_assoc($array1,$array2)---------同array_diff(),只是它对键值也比较
  array_diff_key($array1,$array2)------------比较键值
  array_product($array)-----------返回数组的所有数的乘积
  array_sum($array)--------------所有数值的和
  array_rand($array,$n)----------在$array数组中取出$n个数值,返回数组
  array_intersect($array1,$array2)----------------取得两个数组的交集
  array_intersect_assoc($array1,$array2)---------------在array_intersect 的基础上进行键值比较
  array_intersect_key($array1,$array2)-----------------比较两个数组键值的交集

总结

数组的使用在PHP中至关重要,由于PHP没有指针,所以数组承担了很大的数据操作任务。学好数组,才能把PHP应用的得心应手,这里所列均是常用的PHP数组相关的函数及用法,欢迎一起学习!

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/752575.htmlTechArticle对于Web编程来说,最重要的就是存取和读写数据了。存储方式可能有很多种,可以是字符串、数组、文件的形式等。数组,可以说是PHP的数...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。