在PHP应用中,数组是用得最广泛的数据结构了。基本可以这么说,熟练掌握数组你就可以熟练掌握PHP的大部分了。下面将PHP的数组操作进行汇总介绍下,或许有你不懂或不怎么了解的数组操作。
将数组的内部指针倒回一位:
/** * 将数组的内部指针倒回一位 * @param array &$arr * @return mixed 返回前一个单元的值,当没有更多单元时返回 FALSE * 如果数组包含空的单元,或者单元的值是 0 则本函数碰到这些单元也返回 FALSE * 要正确遍历可能含有空单元或者单元值为 0 的数组,参见 each() 函数 */ mixed prev(array &$arr); <?php $transport = array('foot', 'bike', 'car', 'plane'); $mode = current($transport); // $mode = 'foot'; $mode = next($transport); // $mode = 'bike'; $mode = next($transport); // $mode = 'car'; $mode = prev($transport); // $mode = 'bike'; $mode = end($transport); // $mode = 'plane'; $mode = reset($transport) ;//$mode = 'foot'; ?>
把数组中的单元转换为变量:
array("key"=>"value");建立数组 //显示数组 print_r($array); //使用compact()函数新建数组,并把参数做为新数组的单元; $newArray = compact("red","green","yellow","blue","array"); //使用extract()函数把数组中的单元转换为变量 extract($exArray); echo "$key1 $key2 $key3 $key4 $key5";
检查值、键:
array_key_exists($key,$array);//检查数组键 in_array($value,$array);//检查值于数组
获取值:
//使用array_values()取得数组的值 $carValues = array_values($car); //取出数组的键名 $twoKeys = array_keys($two); key($array);//输出当前单元的键名 //数组定义后,使用current()取得当前单元的值 $red = current($array); list($red,$green) = $array;//把数组中的值赋与变量,$array = array("红色","绿色"); each($two);//返回数组中当前单元的键和值
遍历数组:
foreach($two as $subArray);//遍历数组 while(list($key,$value) = each($array)){ echo "$key=>$value,";//使用each遍历数组 }
填充数组:
//向左、右填充数组 array_pad($array,+3,"shuzhi");//2参数为正从左往右填充,数值大于单元数时才填充 $array1 = array_fill(5,5,"test");//使用array_fill()填充这个数组的值,值为test,从第5个单元开始填充,一共填充5个单元 //填充数组键名 $keys = array('string', 5, 10, 'str'); $array3 = array_fill_keys($keys,"数组值"); //使用array_filp()函数交换键名与值 $speed = array_flip($speed); //使用array_splice()函数替换第6个单元的值为7 $output = array_splice($input,6,0,7); //使用array_splice()函数删除数组单元,只保留前5个单元 $output = array_splice($input,5); $array1 = range(10,100,10); //使用range()函数的第三个参数,设置单元之间的步进值
排序:
shuffle($array);//将数组顺序打乱 //使用array_multisort()对三个数组排序 array_multisort($sort1,$sort2,$sort3); //把这个数组进行排序,并保持索引关系 asort($array); //把测试数组进行逆向排序,并保持索引关系 arsort($array); //使用ksort()对数组按键名排序 ksort($array); //使用krsort()函数按键名逆向排序 krsort($array); //使用sort()对测试数组进行排序[以键名排列] sort($array); //使用natsort()排序[自然排序,以数值排列]对单元数值大小写敏感 natsort($array); //使用natcasesort()函数排序[自然排序]但是忽略数值大小写 natcasesort($array); //使用array_reverse()函数排序,数组单元按相反排列 $newArray = array_reverse($array,TRUE);//TRUE设时保留原键名
交集、差集:
//使用array_diff()计算三个数组的差集[对数组数值比较] $result = array_diff($dog1,$dog2,$dog3); //使用array_diff_assoc()计算三个数组的差集[对数值和键名比较] $result = array_diff_assoc($dog1,$dog2,$dog3); //使用array_diff_key()计算三个数组的差集[比较键名] $result = array_diff_key($dog1,$dog2,$dog3); //使用array_intersect()计算三个数组的交集[对数组数值比较] $result = array_intersect($dog1,$dog2,$dog3); //使用array_intersect_assoc()计算三个数组的交集[对数值和键名比较] $result = array_intersect_assoc($dog1,$dog2,$dog3); //使用array_intersect_key()计算三个数组的交集[比较键名] $result = array_intersect_key($dog1,$dog2,$dog3);
合并数组:
//使用array_merge()函数合并数组 $result = array_merge($array1,$array2,$array3,$array4,$array5); array_rand($input,10);//随机取出10个单元 count($array,COUNT_RECURSIVE);//显示数组单元数目,2参数只可为1或者COUNT_RECURSIVE,有时可遍历多维数组
出入栈:
//数组出栈,后进先出,数组最后一个单元弹出 array_pop($array); //数组入栈,将7,8两个数值添加到数组尾部 array_push($array,7,8); //将数组开头单元移出数组 array_shift($array); //将7,8添加入数组开头 array_unshift($array,7,8);
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
2 週前ByDDD
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

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

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

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

SublimeText3 Linux新版
SublimeText3 Linux最新版