PHP数组详解,数组详解_PHP教程
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

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

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

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何使用PHP數組實現圖表和統計圖的生成和顯示PHP是一種廣泛使用的伺服器端腳本語言,具有強大的資料處理和圖形生成能力。在Web開發中,經常需要展示資料的圖表和統計圖,透過PHP數組,我們可以輕鬆實現這些功能。本文將介紹如何使用PHP數組產生和顯示圖表和統計圖,並提供相關的程式碼範例。引入必要的庫文件和樣式表在開始之前,我們需要在PHP文件中引入一些必要的庫文

如何使用PHP陣列產生動態投影片和圖片展示投影片和圖片展示是網頁設計中常見的功能,常被應用於輪播圖、圖庫展示等場景。而PHP作為一種流行的伺服器端腳本語言,具備處理資料和產生動態HTML頁面的能力,非常適合用於產生動態投影片和圖片展示。本文將介紹如何使用PHP陣列產生動態投影片和圖片展示,並給出對應的程式碼範例。準備圖片資料首先,我們需要準備一組圖片的路徑數據

如何使用PHP陣列實現使用者登入和權限管理的功能在開發網站時,使用者登入和權限管理是非常重要的功能之一。透過使用者登錄,我們可以驗證使用者身分並保護網站的安全性。而權限管理則能夠控制使用者在網站中的操作權限,確保使用者只能存取他們被授權的功能。在本文中,我們將介紹如何使用PHP陣列來實現使用者登入和權限管理的功能。我們將使用一個簡單的範例來演示這個過程。首先,我們需要創建

php數組二維轉一維數組的方法:1、使用循環遍歷,使用循環遍歷二維數組,將每個元素添加到一維數組中;2、使用“array_merge”函數,可以將多個數字組合併為一個數組,將二維數組當作參數傳遞給“array_merge”函數,將其轉換為一維數組;3、使用“array_reduce”函數,可以將數組中的所有值通過一個回調函數來處理,並最後返回一個結果。

php判斷陣列有幾個的方法:1、使用count()函數,適用於所有類型的陣列。但要注意的是,如果傳入的參數不是數組,count()函數會傳回0;2、使用sizeof()函數,更多用於保持與其他程式語言的相容性;3、自訂函數,透過使用循環遍歷數組,每遍歷一次,計數器加1,最終得到數組的長度。自訂函數可以根據實際需求進行修改和擴展,更加靈活。

php數組求平均值的函數有:1、array_sum(),用於計算數組中所有值的總和,為了計算平均值,可以將數組中的所有值相加,然後除以數組元素的數量;2 、array_reduce(),用於迭代數組並將每個值與一個初始值進行計算;3、array_mean(),用於返回數組的平均值,先計算數組的總和,併計算數組元素的個數,將總和除以數組元素的個數,即得到平均值。

PHP數組是一種非常常見的資料結構,在開發過程中常會用到。然而,隨著資料量的增加,數組的效能可能會成為一個問題。本文將探討一些PHP數組的效能最佳化技巧,並提供具體的程式碼範例。 1.使用適當的資料結構在PHP中,除了普通數組外,還有一些其他資料結構,如SplFixedArray、SplDoublyLinkedList等,它們在特定情況下可能比普通數組效能更好

php數組鍵值對是一種資料結構,由一個鍵和一個對應的值組成,鍵是數組元素的標識符,而值是與鍵相關聯的資料。允許我們以鍵為標識來儲存和存取數據,透過使用鍵值對,可以更方便地操作和管理數組中的元素,使得程式開發更加靈活和高效。
