php数组使用小结
php数组使用小结
在PHP中,数组分为两类:索引数组和关联数组。二者可以单独使用,也可以混合使用。1、一维数组
一维数组的定义也很简单,常用的有如下两种方式:
1.1 直接赋值
1: <?php
2: $dwqs[0] = "1“;
3: $dwqs[1] = "我的博客:";
4: $dwqs[2] = "www.ido321.com";
5: $dwqs[3] = "程序爱好者:";
6: $dwqs[4] = "QQ群:259280570";
7: $dwqs[5] = "欢迎你的加入";
8: ?>
1.2 Array()构建数组
1: <?php
2: $dwqs = array(1,"我的博客","www.ido321.com","程序爱好者:","QQ群:259280570","欢迎你的加入");
3: ?>
2、多维数组
以关联数组为例
1: <?php
2: $dwqs1= array(
3: "编号" => array(1,2,3),
4: "博客" => array("独立博客","CSDN","博客园"),
5: "地址" => array("www.ido321.com","blog.csdn.net/u011043843","www.cnblogs.com/ido321")
6: ?>
1: <?php
2: for($i = 0; $i < count($dwqs); $i++){
3: echo "$dwqs[i]<br/>";
4: ?>
2、foreach语句
1: //第一种方式
2: <?php
3: foreach($dwqs as $value){
4: echo "$value<br/>";
5: ?>
6:
7: //第二种方式
8: <?php
9: foreach($dwqs1 as $key=>$value){
10: echo $key."=>".$value;
11: ?>
3、while循环
1: <?php
2: while(list($key,$value) = each($dwqs1)){
3: echo $key.":".$value;
4: ?>
三、部分数组相关函数(使用print_r()函数输出数组内容)
PHP的数组功能非常强大,是最常用的数据类型之一。其处理函数也有着强大、高效的特点。
1、数组的键/值操作函数
1.1 函数array_values():返回数组中所有元素的值。传入数组名即可,不保留键名,返回的数组从0开始重新建立索引。
1: <?php
2: $dwqs2 = array("ID" => 1,"博客" => "www.ido321.com","程序爱好者" => "QQ群:259280570");
3: //输出:Array([0]=>1,[1]=>www.ido321.com,[2]=>QQ群:259280570)
4: print_r(array_values($dwqs2));
5: //输出:array("ID" => 1,"博客" => "www.ido321.com","程序爱好者" => "QQ群:259280570");
6: print_r($dwqs2);
7:
8: ?>
1.2 函数array_keys():返回数组中的键名。
1: <?php
2: //输出所有键名:Array([0]=>ID,[1]=>博客,[2]=>程序爱好者);
3: print_r(array_keys($dwqs2))
4: //输出指定键名:Array([0]=>ID)
5: print_r(array_kays($dqws,'ID'));
6: ?>
1.3 函数In_array():检测数组中是否存在某个值
1: <?php
2: $address = "www.ido321.com";
3: //输出:存在
4: if(in_array($address,$dwqs2)){
5: echo "存在";
6: }
7: else{
8: echo "不存在";
9: }
10: ?>
1: <?php
2: echo count($dwqs2);
3: ?>
2.2 函数array_unique():删除数组中重复的值,返回的数组键名保持不变
1: <?php
2: $a = array('a' => 'php','b' => 'mysql','c' => 'linux','d' => 'php');
3: //输出:array('a' => 'php','b' => 'mysql','c' => 'linux);
4: print_r(array_unique($a));
5: ?>
2.3 函数array_count_values():统计数组中所有值出现的次数,返回的数组以原数组中的值作为键名,键值则是元素在原数组中出现的次数
1: <?php
2: //输出:Array(php => 2,mysql => 1,linux => 1)
3: print_r(array_count_values($a));
4: ?>
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)

使用foreach循環移除PHP數組中重複元素的方法如下:遍歷數組,若元素已存在且當前位置不是第一個出現的位置,則刪除它。舉例而言,若資料庫查詢結果有重複記錄,可使用此方法移除,得到不含重複記錄的結果。

PHP中深度複製數組的方法包括:使用json_decode和json_encode進行JSON編碼和解碼。使用array_map和clone進行深度複製鍵和值的副本。使用serialize和unserialize進行序列化和反序列化。

PHP數組鍵值翻轉方法效能比較顯示:array_flip()函數在大型數組(超過100萬個元素)下比for迴圈效能更優,耗時更短。手動翻轉鍵值的for迴圈方法耗時相對較長。

多維數組排序可分為單列排序和嵌套排序。單列排序可使用array_multisort()函數依列排序;巢狀排序需要遞歸函數遍歷陣列並排序。實戰案例包括按產品名稱排序和按銷售量和價格複合排序。

PHP的array_group_by函數可依鍵或閉包函數將陣列中的元素分組,傳回關聯數組,其中鍵為組名,值是屬於該組的元素數組。

在PHP中執行陣列深度複製的最佳實踐是:使用json_decode(json_encode($arr))將陣列轉換為JSON字串,然後再轉換回陣列。使用unserialize(serialize($arr))將陣列序列化為字串,然後將其反序列化為新陣列。使用RecursiveIteratorIterator迭代器對多維數組進行遞歸遍歷。

PHP陣列去重演算法的複雜度:array_unique():O(n)array_flip()+array_keys():O(n)foreach迴圈:O(n^2)

PHP的array_group()函數可用來按指定鍵對陣列進行分組,以尋找重複元素。函數透過以下步驟運作:使用key_callback指定分組鍵。可選地使用value_callback確定分組值。對分組元素進行計數並識別重複項。因此,array_group()函數對於尋找和處理重複元素非常有用。
