第六章_PHP数组
1.PHP支持两种数组:索引数组(indexed array)和关联数组(associative array),前者使用数字作为键,后者使用字符串作为键。
2.遍历索引数组
2.1 for循环语句
2.2 while循环语句
2.3 do...while循环语句
2.4 foreach语句
2.5使用list()
list()只能用于下标从0开始的索引数组,语法格式如下:
void list(mixed $var, mixed $...)
<span 1</span> <?<span php </span><span 2</span> <span $myarray</span>=<span array</span>('Kimi',5,'Angela'<span ); </span><span 3</span> <span 4</span> <span list</span>(<span $nickname</span>,<span $age</span>,<span $name</span>)=<span $myarray</span><span ; </span><span 5</span> <span echo</span> <span $nickname</span>.' '.<span $age</span>.' '.<span $name</span><span ; </span><span 6</span> ?>
2.6 使用each()(不明白)
2.7 混合使用list()和each()遍历数组(不明白)
3.遍历关联数组
常常使用foreach语句来遍历
下面是一个使用foreach语句遍历二维数组的例子:
<span 1</span> <?<span php </span><span 2</span> <span $myarray</span>=<span array</span><span ( </span><span 3</span> 'boy'=><span array</span><span ( </span><span 4</span> 'name'=>'Kimi', <span 5</span> 'age'=>4, <span 6</span> 'nickname'=>'kimi', <span 7</span> ), <span 8</span> 'girl'=><span array</span><span ( </span><span 9</span> 'name'=>'Cindy', <span 10</span> 'age'=>5, <span 11</span> 'nickname'=>'wind' <span 12</span> ), <span 13</span> <span ); </span><span 14</span> <span foreach</span>(<span $myarray</span> <span as</span> <span $gender_key</span> => <span $gender_value</span><span ){ </span><span 15</span> <span echo</span> <span $gender_key</span>.' => <br>'<span ; </span><span 16</span> <span 17</span> <span foreach</span>(<span $gender_value</span> <span as</span> <span $key</span> => <span $value</span><span ){ </span><span 18</span> <span echo</span> '  '.<span $key</span>.' => '.<span $value</span>.'<br>'; <span //</span><span  似乎是增加一个空格</span> <span 19</span> <span } </span><span 20</span> <span } </span><span 21</span> ?>
4.数组的操作
4.1 检查数组中是否存在指定的值使用array_search()
<span 1</span> <?<span php </span><span 2</span> <span $myarray</span>=<span array</span>('name'=>'Kimi','age'=>5,'hobby'=>'reading',1=>2013<span ); </span><span 3</span> <span 4</span> <span $key</span>=<span array_search</span>('Kimi',<span $myarray</span><span ); </span><span 5</span> <span echo</span> '<p>'.<span $key</span><span ; </span><span 6</span> <span 7</span> <span $key</span>=<span array_search</span>(5,<span $myarray</span><span ); </span><span 8</span> <span echo</span> '<p>'.<span $key</span><span ; </span><span 9</span> <span 10</span> <span $key</span>=<span array_search</span>('read',<span $myarray</span><span ); </span><span 11</span> <span var_dump</span>(<span $key</span><span ); </span><span 12</span> <span 13</span> <span $key</span>=<span array_search</span>(2013,<span $myarray</span><span ); </span><span 14</span> <span echo</span> '<p>'.<span $key</span><span ; </span><span 15</span> ?>
4.2 把一个或多个数组合并为一个数组使用array_merge()
函数返回合并后的数组,如果待合并的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。如果待合并的数组中包含相同的数组键名,后面的值将不会覆盖原来的值,而是附加到该元素后面。
<span 1</span> <?<span php </span><span 2</span> <span $girl</span>=<span array</span>('name'=>'Cindy','age'=>5<span ); </span><span 3</span> <span $boy</span>=<span array</span>('name'=>'Kimi','age'=>4<span ); </span><span 4</span> <span $girl_date</span>=<span array</span>(0=>2000<span ); </span><span 5</span> <span $boy_date</span>=<span array</span>(0=>2001<span ); </span><span 6</span> <span 7</span> <span $myarray</span>=<span array_merge</span>(<span $girl</span>,<span $boy</span>,<span $girl_date</span>,<span $boy_date</span><span ); </span><span 8</span> <span var_dump</span>(<span $myarray</span><span ); </span><span 9</span> ?>
4.3 把一个数组分割为多个数组使用array_chunk()
语法格式如下:
array array_chunk(arrray $input, int $size [, bool $preserve_keys])
其中,$input是分割的数组变量,$size是分割成的每个数组的元素个数(最后一个数组的元素可以小于$size),可选参数$preserve_keys默认为false,表示分割后的数组索引将从0开始重新编排。若设置为true,则分割后的数组将保留原数组中的键名。一维数组分割一次变成二维数组。
4.4 统计数组中所有值出现的次数使用array_count_values()
语法格式如下:
array array_count_values( array $input)
其中,$input是待统计的数组。该函数返回一个关联数组,其键名为$input数组中的元素的值,键值为该元素的值在$input数组中出现的次数
<span 1</span> <?<span php </span><span 2</span> <span $boy</span>=<span array</span>('Kimi',5,'age'=>5,'name'=>'Kimi',2005<span ); </span><span 3</span> <span $counts</span>=<span array_count_values</span>(<span $boy</span><span ); </span><span 4</span> <span print_r</span>(<span $counts</span><span ); </span><span 5</span> <span var_dump</span>(<span $counts</span><span ); </span><span 6</span> ?>
4.5 计算数组中所有值的和使用array_sum()
语法格式如下:
number array_sum(array $array)
4.6 删除数组中重复的值使用array_unique()
语法格式如下:
array array_unique(array $array)
其中,$array是待操作的数组。该函数首先将键值作为字符串进行排序,保留第一次遇到的值所对应的键名,最后返回一个没有重复值得新数组。
4.7 计算数组中的元素数目使用count()
语法格式如下:
int count( array $array [, int $mode])
其中,$array是待计算的数组,可选参数$mode默认值为0,表示不进行递归统计元素个数,可以设置为1(或COUNT_RECURSIVE),表示递归统计元素的数目。
<span 1</span> <?<span php </span><span 2</span> <span $myarray</span>=<span array</span><span ( </span><span 3</span> 'boy'=><span array</span>('name'=>'Kimi', <span 4</span> 'nickname'=>'K', <span 5</span> 'age'=>5), <span 6</span> 'girl'=><span array</span>('name'=>'Cindy', <span 7</span> 'nickname'=>'C', <span 8</span> 'age'=>4), <span 9</span> <span ); </span><span 10</span> <span 11</span> <span echo</span> '<P>不递归统计元素个数:'.<span count</span>(<span $myarray</span><span ); </span><span 12</span> <span echo</span> '<p>递归统计元素个数:'.<span count</span>(<span $myarray</span>,<span COUNT_RECURSIVE); </span><span 13</span> ?>
4.8 对数组正向排序使用sort()
语法格式如下:
bool sort( array &$array [, int $sort_flags])
其中,参数$array是待排序的数组,可选参数$sort_flags可以为下面4种设置之一。
·SORT_REGULAR:通过正常比较进行排序(不改变类型)
·SORT_NUMBER:将数组元素作为数字来比较进行排序
·SORT_STRING:将数组元素作为字符串来比较并进行排序
·SORT_LOCATE_STRING:根据当前的区域(locate)设置把数组元素作为字符串比较并进行排序
4.9 对数组逆向排序使用rsort()
类比正向排序。
4.10 将数组中的元素顺序翻转使用array_reverse()
语法格式如下:
array array_reverse( array $array [, bool $preserve_keys])
其中,$array是待翻转的数组,可选参数$preserve_keys默认为FALSE,表示不保留原有的键名,设置为TRUE后,表示翻转数组元素时保留原有的键名。(关于可选参数,存在疑惑,见下面程序)
<span 1</span> <?<span php </span><span 2</span> <span $myarray</span>=<span array</span>('gdp'=>'GDP','ht'=>'HT','lq'=>'LQ','lc'=>'LC'<span ); </span><span 3</span> <span $new_array</span>=<span array_reverse</span>(<span $myarray</span>,<span FALSE</span><span );//无论是FALSE还是TRUE,键名依旧未改变 </span><span 4</span> <span echo</span> '<p>'<span ; </span><span 5</span> <span print_r</span>(<span $new_array</span><span ); </span><span 6</span> ?>
4.11 用给定的值填充数组使用array_pad()
语法格式如下:
array array_pad( array $input, int $pad_size, mixed $pad_value)
其中,参数$input是待填充的数组,参数$pad_size是填充后数组的大小,参数$pad_value是用来填充的元素。如果$pad_size为正,填充的元素将位于$input右侧,反之亦然。
4.12 计算多个数组的交集使用array_intersect()
语法格式如下:
array array_intersect( array $array1 [, array $array2 [, array $...] ] )

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の 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 にアップグレードする方法について説明します。

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

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

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

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

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
