PHP数组详解,数组详解
作为一名C++程序员,在转做PHP开发的过程中,对PHP数组产生了一些混淆,与C++数组有相似的地方,也有一些不同,下面就全面地分析一下PHP的数组及其与C++中相应数据类型的区别和联系。
数组的分类:
1、数值数组:也叫索引数组,即以数字(从0 开始)作为数组下标。相当于C++中的vector。
2、关联数组:以字符串作为数组下标。相当于C++中的map。
3、多维数组:数组中每个元素也是一个数组。其子数组中的每个元素也可以是数组。
数组的声明:
1、数值数组
<span>a、如下例子中,会自动分配数字ID键。 </span><span>$names</span> = <span>array</span>("Peter","Joe","Lily"<span>); b、如下例子中,我们人工分配数字ID键。 </span><span>$names</span>[0] = "Peter"<span>; </span><span>$names</span>[1] = "Joe"<span>; </span><span>$names</span>[2] = "Lily"<span>; 可以在脚本中使用这些ID键: </span><?<span>php </span><span>$names</span>[0] = "Peter"<span>; </span><span>$names</span>[1] = "Joe"<span>; </span><span>$names</span>[2] = "Lily"<span>; </span><span>echo</span> <span>$names</span>[0]." and ".<span>$names</span>[1]." are ".<span>$names</span>[2]."'s neighbors"<span>; </span><span>/*</span><span> 何问起 hovertree.com </span><span>*/</span> ?>
2、关联数组:
<span>例子1 </span><span>$ages</span> = <span>array</span>("Peter"=>32, "Joe"=>30, "Lily"=>28<span>); 例子2 本例与例子1相同,只是另一种创建数组的方法。 </span><span>$ages</span>["Peter"] = "32"<span>; </span><span>$ages</span>["Joe"] = "30"<span>; </span><span>$ages</span>["Lily"] = "28"<span>; 在脚本中使用关联数组: </span><?<span>php </span><span>$ages</span>["Peter"] = "32"<span>; </span><span>$ages</span>["Joe"] = "30"<span>; </span><span>$ages</span>["Lily"] = "28"<span>; </span><span>echo</span> "Peter is ".<span>$ages</span>["Peter"]." years old."<span>; </span><span>/*</span><span> 何问起 hovertree.com </span><span>*/</span> ?><span> 以上脚本输出: Peter is </span>32 years old.
3、多维数组:
<span>在本例中,我们创建了一个带有自动分配数字ID键的多维数组: </span><span>$families</span> = <span>array</span><span> { </span>"Griffin"=><span>array</span><span> { </span>"Peter", "Lois", "Megan"<span> }</span>, "Quagmire"=><span>array</span><span> { </span>"Glenn"<span> }</span>, "Brown"=><span>array</span><span> { </span>"Cleveland", "Loretta", "Junior"<span> } }; </span><span>echo</span> "Is " . <span>$families</span>['Griffin'][2] . " a part of the Griffin family?"<span>; 以上代码输出: Is Megan a part of the Griffin family</span>?
数组遍历
1<span>、for循环遍历 for循环只能遍历索引数组。 </span><?<span>php </span><span>$names</span> = <span>array</span>("Peter","Joe","Lily"<span>); </span><span>for</span>(<span>$id</span>=0;<span>$id</span><<span>count</span>(<span>$names</span>);++<span>$id</span><span>) { </span><span>echo</span> <span>$names</span>[<span>$id</span><span>]; } </span>?> 2<span>、foreach遍历 即可以遍历索引数组,也可以遍历关联数组 遍历索引数组 </span><span>foreach</span>(array_expression <span>as</span> <span>$value</span><span>) { 循环体; } 遍历关联数组 </span><span>foreach</span>(array_expression <span>as</span> <span>$key</span>=><span>$value</span><span>) { 循环体; } A、一维数组遍历 索引数组 </span><?<span>php </span><span>$contact</span> = <span>array</span>("李某","xx公司","abc@xx.com"<span>); </span><span>foreach</span>(<span>$contact</span> <span>as</span> <span>$value</span><span>) { </span><span>echo</span> <span>$value</span><span>; } </span>?> <?<span>php </span><span>$contact</span> = <span>array</span>("姓名"=>"李某","公司"=>"xx公司","邮箱"=>"abc@xx.com"<span>); </span><span>foreach</span>(<span>$contact</span> <span>as</span> <span>$key</span>=><span>$value</span><span>) { </span><span>echo</span> <span>$key</span>.":".<span>$value</span><span>; } </span>?><span> B、多维数组遍历 </span><?<span>php </span><span>$wage</span> = <span>array</span><span>( </span>"市场部"=<span>array</span><span>( </span><span>array</span>(1,"李某","市场经理",8000), <span>array</span>(2,"王某","市场专员",5000), <span>array</span>(3,"刘某","市场专员",7000<span>) )</span>, "产品部"=<span>array</span><span>( </span><span>array</span>(1,"李某","产品经理",9000), <span>array</span>(2,"王某","产品专员",6000), <span>array</span>(3,"刘某","产品专员",5000<span>) )</span>, "账务部"=<span>array</span><span>( </span><span>array</span>(1,"李某","账务经理",7000), <span>array</span>(2,"王某","账务专员",6000), <span>array</span>(3,"刘某","账务专员",5000<span>) ) ); </span><span>foreach</span>(<span>$wage</span> <span>as</span> <span>$section</span>=><span>$table</span><span>) { </span><span>echo</span> <span>$section</span>."部门人员如下"<span>; </span><span>foreach</span>(<span>$table</span> <span>as</span> <span>$row</span><span>) { </span><span>foreach</span>(<span>$row</span> <span>as</span> <span>$value</span><span>) { </span><span>echo</span> <span>$value</span><span>; } } } </span><span>/*</span><span> 何问起 hovertree.com </span><span>*/</span> ?>
推荐:http://www.cnblogs.com/roucheng/p/phpdongtai.html

PHP仍然流行的原因是其易用性、靈活性和強大的生態系統。 1)易用性和簡單語法使其成為初學者的首選。 2)與web開發緊密結合,處理HTTP請求和數據庫交互出色。 3)龐大的生態系統提供了豐富的工具和庫。 4)活躍的社區和開源性質使其適應新需求和技術趨勢。

PHP和Python都是高層次的編程語言,廣泛應用於Web開發、數據處理和自動化任務。 1.PHP常用於構建動態網站和內容管理系統,而Python常用於構建Web框架和數據科學。 2.PHP使用echo輸出內容,Python使用print。 3.兩者都支持面向對象編程,但語法和關鍵字不同。 4.PHP支持弱類型轉換,Python則更嚴格。 5.PHP性能優化包括使用OPcache和異步編程,Python則使用cProfile和異步編程。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP在現代化進程中仍然重要,因為它支持大量網站和應用,並通過框架適應開發需求。 1.PHP7提升了性能並引入了新功能。 2.現代框架如Laravel、Symfony和CodeIgniter簡化開發,提高代碼質量。 3.性能優化和最佳實踐進一步提升應用效率。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

記事本++7.3.1
好用且免費的程式碼編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。