PHP&&& 配列 - CSDN ブログ
この記事では、PHP の配列の問題について紹介します。また、困っている友達の参考にもなります
概要 言語では配列が非常に頻繁に使用され、ほぼすべてのスクリプトで使用されます。 PHP には、配列を操作するための優れた関数が多数付属しています。この記事では、将来の便宜のために、これらの配列関数の使用法を分類してまとめます。 作成1.range()
range()
建立一个指定范围的数组:
$arr1 = range(0, 10); # array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)$arr2 = range(0, 10, 2); # array(0, 2, 4, 6, 8, 10)$arr3 = range('a', 'd'); # array('a', 'b', 'c', 'd')$arr4 = range('d', 'a'); # array('d', 'c', 'b', 'a')
2. compact()
创建一个包含变量名和它们值的数组:
$number = 10; $string = "I'm PHPer"; $array = array("And", "You?"); $result = compact("number", "string", "array"); # array('number'=>10, 'string'=>"I'm PHPer", 'array'=>array("And", "You?"))
3. array_combine()
创建一个用一个数组的值作为其键、另一个数组的值作为其值的数组:
$key = array("1", "3", "5", "7", "9"); $value = array("I", "Am", "A", "PHP", "er"); $result = array_combine($number,$array); # array('1'=>I, '3'=>'Am', '5'=>'A', '7'=>'PHP', '9'=>'er')
遍历
1. for
循环
$arr = range(0, 10);for($i = 0; $i < count($arr); $i++) { echo $arr[$i]; }
缺点:只能遍历索引数组。
2. while
循环
$products = array('apple'=>3, 'milk'=>6, 'eggs'=>10);while(list($product, $quantity) = each($products)) { echo $product . '-' . $quantiry; }
缺点:遍历完成之后,不能对数组进行第二次遍历(数组内部指针指向了最后一个元素)。
3. foreach
循环
$products = array('apple'=>3, 'milk'=>6, 'eggs'=>10);foreach($products as $product => $quantity) { echo $product . '-' . $quantiry; }
操作 key 或 value
unset()
— 删除数组成员或数组in_array()
— 检查数组中是否存在某个值array_key_exists()
— 检查给定的键名或索引是否存在于数组中array_search()
— 在数组中搜索给定的值,如果成功则返回相应的键名
$array = array(1, 2, 3);unset($array); # array()$fruit = array('apple' => 'goold','orange' => 'fine','banana' => 'OK');if(in_array('good', $fruit)) { echo 'Exit'; } $search_array = array('first' => 1, 'second' => 4);if (array_key_exists('first', $search_array)) { echo "Exit"; } $array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red'); $key = array_search('green', $array); # $key = 2;
array_keys()
— 返回数组中部分的或所有的键名array_values()
— 返回数组中所有的值
$array = array('apple'=>'good', 'orange'=>'fine', 'banana'=>'ok'); $keys = array_keys($array); # array('apple', 'orange', 'banana')$values = array_values($array); # array('good', 'fine', 'ok')
array_unique()
— 移除数组中重复的值
$input = array(4, '4', '3', 4, 3, '3'); $result = array_unique($input); # array(4, '3')
array_flip()
— 交换数组中的键和值
$input = array('oranges', 'apples', 'pears'); $result = array_flip($input); # array('oranges'=>0, 'apples'=>1, 'pears'=>2)
array_count_values()
统计数组中所有的值
$input = array(1, 'hello', 1, 'world', 'hello'); $result = array_count_values($input); # array('1'=>2, 'hello'=>2, 'world'=>1)
排序
1. sort()
和 rsort()
对数组进行升序或降序排序:
$fruits = array(); sort($fruits); # array('apple', 'banana', 'lemon', 'orange')rsort($fruits); # array('orange', 'lemon', 'banana', 'apple')
2. asort()
和 arsort()
对关联数组(按元素的值)进行升序或降序排序并保持索引关系:
$fruits = array('d'=>'lemon', 'a'=>'orange', 'b'=>'banana', 'c'=>'apple'); asort($fruits); # array('c'=>''apple', 'b'=>''banana', 'd'=>'lemon', 'a'=>'orange')arsort($fruits); # array('a'=>'orange', 'd'=>'lemon', 'b'=>''banana', 'c'=>''apple')
3. ksort()
对数组按照键名排序:
$fruits = array('d'=>'lemon', 'a'=>'orange', 'b'=>'banana', 'c'=>'apple'); ksort($fruits); # array('a'=>'orange', 'b'=>'banana', 'c'=>'apple', 'd'=>'lemon')
4. shuffle()
随机打乱数组排序:
$numbers = range(1, 5); shuffle($numbers); # array(3, 2, 5, 1, 4)
栈与列队
array_push()
— 将一个或多个单元压入数组的末尾(入栈)array_pop()
— 将数组最后一个单元弹出(出栈)
$stack = array('orange', 'banana'); array_push($stack, 'apple", 'raspberry'); # array('orange', 'banana', 'apple', 'raspberry') $fruit = array_pop($stack); #array('orange', 'banana', 'apple')
array_unshift()
— 在数组开头插入一个或多个单元array_shift()
— 将数组开头的单元移出数组
$queue = array('orange', 'banana'); array_unshift($queue, 'apple", 'raspberry'); # array('apple', 'raspberry', 'orange', 'banana') $fruit = array_shift($queue); # array('raspberry', 'orange', 'banana')
分割、填充、合并
array_slic()
— 从数组中取出一段array_splice()
— 把数组中的一部分去掉并用其它值取代
$input = array('a', 'b', 'c', 'd', 'e'); $result = array_slice($input, 2); # array('c', 'd', 'e')$input = array('red', 'green', 'blue', 'yellow'); array_splice($input, 2, 1); # array('red', 'green', 'yellow')
array_pad()
— 以指定长度将一个值填充进数组
$input = array(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)
array_fill()
— 用给定的值填充数组
$a = array_fill(5, 3, 'a'); # array(5=>'a', 6=>'a', 7=>'a')$b = array_fill(-2, 3, 'pear'); # array(-2=>'a', 0=>'a', 1=>'a')
array_fill_keys()
— 使用指定的键和值填充数组
$keys = array('foo', 5, 10, 'bar'); $result = array_fill_keys($keys, 'a'); # array('foo'=>'a', 5=>'a', 10=>'a', 'bar'=>'a')
array_merge()
— 合并一个或多个数组
$array1 = array('data0'); $array2 = array('data1'); $result = array_merge($array1, $array2); # array('data0', 'data1')
其他函数
1. array_walk()
使用用户自定义函数对数组中的每个元素做回调处理(改变原来数组):
$a = array(1, 2, 3, 4, 5); array_walk($a, function(&$value, $key) { ++$value; }); # array(2, 3, 4, 5, 6)
2. array_map()
将回调函数作用到给定数组的单元上(不改变原来数组,同时生成新的数组作为结果):
$a = array(1, 2, 3, 4, 5); $b = array_map(function($item) { return $item + 1; }, $a); # array(2, 3, 4, 5, 6)
3. array_rand()
从数组中随机取出一个或多个元素:
$input = array('apple', 'banana', 'lemon', 'orange'); $result = array_rand($input, 2); # array('banana', 'lemon')
4. array_diff()
指定した範囲の配列を作成します:
$array1 = array('a' => 'green', 'red', 'blue', 'red'); $array2 = array('b' => 'green', 'yellow', 'red'); $result = array_diff($array1, $array2); # array('blue')
2. compact()
変数名を含む配列を作成しますとその値 配列:
rrreee3. array_combine()
1 つの配列の値をキーとして、別の配列の値をその値として持つ配列を作成します:
欠点: インデックス配列のみを走査できます。
2. while
ループ
欠点: 走査が完了すると、配列を再度走査することはできません (配列の内部ポインタは最後の要素を指します)。 。🎜3.
foreach
ループ🎜rrreee🎜 キーまたは値を操作します🎜🎜unset()
— 配列メンバーまたは配列を削除しますin_array( )
— 値が配列内に存在するかどうかを確認しますarray_key_exists()
— 指定されたキーまたはインデックスが配列内に存在するかどうかを確認しますarray_search ()
— 配列内の指定された値を検索し、成功した場合は対応するキー名を返します🎜rrreee🎜array_keys()
— 配列内のキー名の一部またはすべてを返しますarray_values()
— 配列内のすべての値を返します🎜rrreee🎜array_unique()
— 配列内の重複した値を削除します🎜rrreee🎜array_flip( )
— 配列内のキーと値を交換します🎜rrreee🎜array_count_values()
配列内のすべての値をカウントします🎜rrreee🎜Sort🎜🎜1。 () と rsort()🎜🎜 配列を昇順または降順に並べ替えます: 🎜rrreee🎜2. asort()
と arsort()
🎜🎜 連想配列を並べ替えます (要素値ごとに) 昇順または降順に並べ替え、インデックス関係を維持します: 🎜rrreee🎜3. ksort()
🎜🎜 配列をキー名で並べ替えます: 🎜rrreee🎜4. shuffle()
🎜🎜配列をランダムにシャッフルして並べ替えます: 🎜rrreee🎜スタックしてキュー🎜🎜array_push()
— 1 つ以上のセルを最後にプッシュします配列の (プッシュ)array_pop()
— 配列の最後のセルをポップします 🎜rrreee🎜array_unshift()
— 先頭に 1 つ以上のセルを挿入します配列のarray_shift() — 配列の先頭のセルを配列から移動します🎜rrreee🎜分割、塗りつぶし、結合🎜🎜
array_slic()
— 配列からセグメントを削除します array_splice()
— 配列の一部を削除し、別の値に置き換えます 🎜rrreee🎜array_pad()
— 配列を埋めます指定された長さの値を配列に入れる 🎜rrreee🎜array_fill()
— 配列に指定された値を入れる 🎜rrreee🎜array_fill_keys()
— 配列に値を入れる指定されたキーと値🎜rrreee🎜array_merge()
— 1 つまたは複数の配列を結合します🎜rrreee🎜その他の関数🎜🎜1. array_walk()
🎜🎜ユーザー定義を使用します配列内の各要素に対してコールバック処理を実行する関数 (元の配列を変更): 🎜rrreee🎜2 . array_map()
🎜🎜 指定された配列 (元の配列) のセルにコールバック関数を適用します。は変更されず、結果として新しい配列が生成されます): 🎜rrreee🎜3. array_rand()
🎜🎜配列から 1 つ以上の要素をランダムに取り出します: 🎜rrreee🎜4. >array_diff()🎜🎜配列値の差を計算する: 🎜rrreee🎜 関連する推奨事項: 🎜🎜🎜 PHP 配列の簡単な配置🎜🎜🎜🎜 PHP 配列関数の詳細な説明🎜🎜🎜 🎜以上がPHP&&& 配列 - CSDN ブログの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます
