Web プログラミングで最も重要なことは、データにアクセスして読み書きすることです。文字列、配列、ファイルなどの形式で保存する方法はたくさんあります。今日は、PHP データ アプリケーションで最も重要な方法の 1 つである配列について学びました。 PHP には多くの配列関数があります。以下は私が学んだことの要約です。今後の参考のために書き留めておきます。
配列の定義は array() メソッドを使用して定義されます。空の配列を定義できます:
.foreach Traversal:
<p class="sycode"> <? php $number = array ( 1 , 3 , 5 , 7 , 9 ); // 定义空数组 $result = array (); $color = array ( " red " , " blue " , " green " ); // 自定义键值 $language = ( 1 => " English " , 3 => " Chinese " , 5 => " Franch " ); // 定义二维数组 $two = array ( " color " => array ( " red " , " blue " ) , // 用逗号结尾 " week " => array ( " Monday " , " Friday " ) // 最后一句没有标点 ); ?> </p>
2. 配列を作成します:
配列の作成に含まれる関数には、compact()、
1. Compact() 関数は 1 つ以上の変数 (配列を含む) を配列に変換します:Array Compact (mixed) $varname [,mixed $... ] )
<p class="sycode"> <? PHP $number = " 1,3,5,7,9 " ; $string = " I'm PHPer " ; $array = array ( " And " , " You? " ); $newArray = compact ( " number " , " string " , " array " ); print_r ( $newArray ); ?> </p>
compact() 関数は、2 つ以上の変数を配列に変換するために使用されます (もちろん配列変数も含まれます)。 。パラメーターは、$ を含む完全な名前ではなく、変数の名前です。
反対の関数はextract()で、名前が示すように、キー値を文字列名として、配列値を文字列の値として、配列を単一の文字列に変換します。
実行結果:
<p class="sycode"> Array ( [ number ] = > 1 , 3 , 5 , 7 , 9 [ string ] = > I'm PHPer [ array ] = > Array ( [ 0 ] = > And [ 1 ] = > You? ) ) </p>
2.array_combine()??2つの配列を1つの配列に再編成し、1つはキー値として、もう1つは値として:
array array_combine (array $keys, array $values)
<p class="sycode"> <? PHP $number = array ( " 1 " , " 3 " , " 5 " , " 7 " , " 9 " ); $array = array ( " I " , " Am " , " A " , " PHP " , " er " ); $newArray = array_combine ( $number , $array ); print_r ( $newArray ); ?> </p>Y a Array_combine 関数は多くを語っていませんが、見た人は理解できます 実行結果:
3.Range () 関数 ?? あまり言うことはありません。直接例に進みます。
<p class="sycode"> Array ( [ 1 ] = > I [ 3 ] = > Am [ 5 ] = > A [ 7 ] = > PHP [ 9 ] = > er ) </p>
range()関数のデフォルトのステップ値は1です!
<p class="sycode"> <? PHP $array1 = range ( 0 , 100 , 10 ); // 0为起始值,100为结束值,10为步进值(默认步进值为1). print_r ( $array1 ); echo " <br /> " ; $array2 = range ( " A " , " Z " ); print_r ( $array2 ); echo " <br /> " ; $array3 = range ( " z " , " a " ); print_r ( $array3 ); ?> </p>
3. 配列トラバーサル: 1.foreach トラバーサル: foreach (array_expression as $key => $value){}
reee
2.while ループトラバーサル:
while ループトラバーサルは一般的にlist 関数と組み合わせた例は次のとおりです
<p class="sycode"> Array ( [ 0 ] => 0 [ 1 ] => 10 [ 2 ] => 20 [ 3 ] => 30 [ 4 ] => 40 [ 5 ] => 50 [ 6 ] => 60 [ 7 ] => 70 [ 8 ] => 80 [ 9 ] => 90 [ 10 ] => 100 ) Array ( [ 0 ] => A [ 1 ] => B [ 2 ] => C [ 3 ] => D [ 4 ] => E [ 5 ] => F [ 6 ] => G [ 7 ] => H [ 8 ] => I [ 9 ] => J [ 10 ] => K [ 11 ] => L [ 12 ] => M [ 13 ] => N [ 14 ] => O [ 15 ] => P [ 16 ] => Q [ 17 ] => R [ 18 ] => S [ 19 ] => T [ 20 ] => U [ 21 ] => V [ 22 ] => W [ 23 ] => X [ 24 ] => Y [ 25 ] => Z ) Array ( [ 0 ] => z [ 1 ] => y [ 2 ] => x [ 3 ] => w [ 4 ] => v [ 5 ] => u [ 6 ] => t [ 7 ] => s [ 8 ] => r [ 9 ] => q [ 10 ] => p [ 11 ] => o [ 12 ] => n [ 13 ] => m [ 14 ] => l [ 15 ] => k [ 16 ] => j [ 17 ] => i [ 18 ] => h [ 19 ] => g [ 20 ] => f [ 21 ] => e [ 22 ] => d [ 23 ] => c [ 24 ] => b [ 25 ] => a ) </p>
実行結果:
Name
Gender
Age
Xiao Zhang
Male
24
Xiao Wang
女性
25
男性 | 23 | 3.for循环遍历: |
数组中存在 |
实例二:key()取得数组当前的键名:
<p class="sycode"> <? php $array = range ( 0 , 9 ); $num = rand ( 0 , 8 ); while ( $num -- ) next ( $array ); $key = key ( $array ); echo $key ; ?> </p>
此实例结果为动态结果,范围(0-8),不做结果演示。
实例三:list()函数把数组中的值赋给指定变量:
<p class="sycode"> <? PHP $staff = array ( array ( " 姓名 " , " 性别 " , " 年龄 " ) , array ( " 小张 " , " 男 " , 24 ) , array ( " 小王 " , " 女 " , 25 ) , array ( " 小李 " , " 男 " , 23 ) ); echo " <table border=2> " ; while ( list ( $keys , $value ) = each ( $staff )){ list ( $name , $sex , $age ) = $value ; echo " <tr><td> $name </td><td> $sex </td><td> $age </td></tr> " ; } echo " </table> " ; ?> </p>运行结果: 实例四:array_flip()交换数组的键值和值:
<p class="sycode"> <? PHP $array = array ( " red " , " blue " , " yellow " , " Black " ); print_r ( $array ); echo " <br /> " ; $array = array_flip ( $array ); print_r ( $array ); ?> </p>
运行结果:
<p class="sycode"> Array ( [ 0 ] => red [ 1 ] => blue [ 2 ] => yellow [ 3 ] => Black ) Array ( [red] => 0 [blue] => 1 [yellow] => 2 [Black] => 3 ) </p>实例五:array_keys()、array_values()返回数组中所有的键值和值:
<p class="sycode"> <? PHP $array = array ( " red " , " blue " , " yellow " , " Black " ); $result = array_keys ( $array ); print_r ( $result ); echo " <br /> " ; $result = array_values ( $array ); print_r ( $result ); ?> </p>
运行结果:
<p class="sycode"> Array ( [ 0 ] => 0 [ 1 ] => 1 [ 2 ] => 2 [ 3 ] => 3 ) Array ( [ 0 ] => red [ 1 ] => blue [ 2 ] => yellow [ 3 ] => Black ) </p>
实例六:array_search()搜索数值:
<p class="sycode"> <? PHP $array = array ( " red " , " blue " , " yellow " , " Black " ); $result = array_search ( " red " , $array ); if (( $result === NULL )){ echo " 不存在数值red " ; } else { echo " 存在数值 $result " ; } ?> </p>
结果:存在数值 0
函数array_search()返回的值可能为false或0或NULL,所以在判断时注意要用"==="
七、数组的排序: 实例一:sort()、rsort()/asort()、arsort()对数组排序:
<p class="sycode"> <? PHP $array = array ( " b " , " c " , " d " , " a " ); sort ( $array ); // 从低到高排序 print_r ( $array ); echo " <br /> " ; rsort ( $array ); // 逆向排序 print_r ( $array ); ?> </p>
结果:
<p class="sycode"> Array ( [ 0 ] => a [ 1 ] => b [ 2 ] => c [ 3 ] => d ) Array ( [ 0 ] => d [ 1 ] => c [ 2 ] => b [ 3 ] => a ) </p>
sort()、rsort()函数对数组进行从低到高的排序,返回结果为bool值;
asort()、arsort()函数是保留键值的排序,排序后键值不重新索引。
实例二:将数组顺序打乱??shuffle()函数:
<p class="sycode"> <? PHP $array = array ( " a " , " b " , " c " , " d " ); shuffle ( $array ); // 从低到高排序 print_r ( $array ); ?> </p>
结果为动态结果:
<p class="sycode"> Array ( [ 0 ] => c [ 1 ] => a [ 2 ] => d [ 3 ] => b ) </p>
shuffle的结果有点随机的意味,每次刷新都不一样。
<p class="sycode"> <? PHP $array = array ( " d " , " b " , " a " , " c " ); $array = array_reverse ( $array ); // 从低到高排序 print_r ( $array ); ?> </p>
运行结果:
<p class="sycode"> Array ( [ 0 ] => c [ 1 ] => a [ 2 ] => b [ 3 ] => d ) </p>实例四:自然排序算法??natsort()和natcasesort();
<p class="sycode"> <? PHP $array = array ( " sort2 " , " Sort5 " , " sort1 " , " sort4 " ); natsort ( $array ); // 从低到高排序 print_r ( $array ); echo " <br /> " ; natcasesort ( $array ); print_r ( $array ); ?> </p>
结果:
<p class="sycode"> Array ( [ 1 ] => Sort5 [ 2 ] => sort1 [ 0 ] => sort2 [ 3 ] => sort4 ) Array ( [ 2 ] => sort1 [ 0 ] => sort2 [ 3 ] => sort4 [ 1 ] => Sort5 ) </p>
natsort()、natcasesort()对数组进行自然排序,就是使用数字的正常排序算法。natcasesort会忽略大小写。
实例五:对数组进行键值排序ksort():
<p class="sycode"> <? PHP $array = array ( 1 => " sort2 " , 4 => " Sort5 " , 2 => " sort1 " , 3 => " sort4 " ); ksort ( $array ); // 从低到高排序 print_r ( $array ); ?> </p>
结果:
<p class="sycode"> Array ( [ 1 ] => sort2 [ 2 ] => sort1 [ 3 ] => sort4 [ 4 ] => Sort5 ) </p>
注意:ksort()函数重新建立了索引。
八、数组的其他用法: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数组相关的函数及用法,欢迎一起学习!

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

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

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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