文章插圖

文章插圖
一、遍歷數組
1、使用foreach結構遍歷數組
foreach 結構并非操作數組本身,而是操作數組的一個備份 。
<?php$arr = array("mon"=>"星期一","tues"=>"星期二","wed"=>"星期三","thur"=>"星期四","fri"=>"星期五","sat"=>"星期六","sun"=>"星期天");foreach($arr as $day){echo $day." ";}?>輸出結果:星期一 星期二 星期三 星期四 星期五 星期六 星期天<?php$arr = array("mon"=>"星期一","tues"=>"星期二","wed"=>"星期三","thur"=>"星期四","fri"=>"星期五","sat"=>"星期六","sun"=>"星期天");foreach($arr as $key=>$value){echo $value."($arr[$key])($key)";}?>輸出結果:星期一(星期一)()星期二(星期二)()星期三(星期三)()星期四(星期四)()星期五(星期五)()星期六(星期六)()星期天(星期天)()這里復習了循環迭代的使用方式,我自己在測試的時候不知道為什么這個$key是未提示非法的參數,這個原因待檢查 。forech的語法格式:
foreach(array_expression as $value){ .... }foreach(array_exoression as $key=>$value){ ..... }2、使用list()函數遍歷數組【php數組的長度 php使用什么函數可以求得數組的大小】list()函數是把數組中的值賦值給一些變量 。與array()函數類似,list()函數不是一個真正的函數,而是一種語言結構 。list()函數只能用于數字索引且索引值從0開始的數組 。
語法格式:void list(mixed....);參數 mixed 為被賦值的變量名稱list函數使用過程中還有一個each()函數 。each()函數用于返回當前指針位置的數組值,同時將指針推進到下一個位置 。返回的數組包含4個鍵,鍵0和key包含鍵名,而鍵1和value包含相應的數據 。如果程序在執行的each()函數時指針已經位于數組末尾,則返回false
<?php$arr = array("早上","下午","晚上");while(list($index,$value)=each($arr)){echo "$index - $value <br/> ";}?>輸出結果:0 - 早上 1 - 下午 2 - 晚上二、字符串和數組的轉換1、使用explode()函數將字符串轉換為數組
語法格式:array explode(string separator,string string,[int limit]);返回值是一個字符串組成的數組,每個數組元素都是指定字符串string的一個子串 。它們使用separator作為分隔符分隔出來 。如果設置了limit參數,則返回的數組最多包含limit個元素,最后那個元素將包含strIng的剩余部分 。如果separator是一個空字符串(“”),則函數返回false,如果separator的值在string中找不到,那么函數返回包含strIng單個元素的數組 。如果參數limit是負數,則返回除了最后的limit個元素外的所有元素 。<?php$str = "早上,下午,晚上";$arr = explode(",",$str);print_r($arr);?>輸出結果:Array ( [0] => 早上 [1] => 下午 [2] => 晚上 )<?php$str = "一月#二月#三月";$arr = explode("#",$str);while(list($index,$value) = each($arr)){echo "$index - $value <br/>";}?>輸出結果:0 - 一月 1 - 二月 2 - 三月2、使用implode()函數將數組轉換為一個新字符串語法格式:string implode(string glue,array pieces);參數glue是字符串類型,是要傳入的分隔符 。參數pieces是數組類型,是要合并元素的數組變量名稱 。<?php$arr = array("一月","二月","三月");$str = implode("@",$arr);echo $str;?>輸出結果:[email protected]@三月語法格式:int count(mixed array,[int mode]);參數array 是要統計的數組,參數mode是可選參數,值為0或者COUNT_RECURSIVE(1) 。如果選中此參數,本函數將遞歸的對數組計數 。對計算多維度數組的所有單元尤其有用 。默認值是0 。比如統計一個二位數組的時候,直接默認使用函數只會統計一維數組的個數,而使用了COUNT_RECURSIVE 會統計到二維數組的個數,
<?php$arr = array("一月","二月","三月");$count = count($arr);echo $count;?>輸出結果:3<?php$arr = array("早上" => array("7點","9點"),"下午" => array("13點","14點","15點"));$count1 = count($arr);$count2 = count($arr,COUNT_RECURSIVE);echo "mode為0的值:".$count1;echo "<br/>";echo "mode為 COUNT_RECURSIVE 的值:".$count2;?>輸出結果:mode為0的值:2mode為 COUNT_RECURSIVE 的值:7四、查詢數組指定元素語法格式:mixed array_search(mixed needle,array haystack,[bool strict]);參數needle是指定數組中要搜索的值,參數haystack是指定要被搜索的數組,參數strict是可選參數,如果值是true,還將在數組中檢查給定值的類型 。找到后返回鍵名,否則會返回false 。在早期版本中,函數失敗會返回null,而不是false 。<?php$arr = array("早上","下午","晚上");$key = array_search("下午",$arr);if($key==false){echo "沒有找到";}else{$arr[$key] = "明天下午";}print_r($arr);?>輸出結果:Array ( [0] => 早上 [1] => 明天下午 [2] => 晚上 這里是尋找下午,如果返回false,打印沒有找到,否則修改該值為明天下午,最后輸出結果數組 。五、獲取數組中的最后一個元素
語法格式:mixed array_pop(array array);參數array為要查找的數組 。array_pop()函數獲取并返回了數組的最后一個元素,并將數組的長度減1,如果數組為空,或者不是數組,將返回null 。<?php$arr = array("早上","下午","晚上");$str = array_pop($arr);$count = count($arr);echo "最后一個的是:".$str;echo "<br/>";echo "數組長度:".$count;echo "<br/>";print_r($arr);?>輸出結果:Array ( [0] => 早上 [1] => 明天下午 [2] => 晚上 ) 最后一個的是:晚上數組長度:2Array ( [0] => 早上 [1] => 下午 )注意:該函數會取出值并數組長度會減小語法格式:int array_push(array array,mixed var,[mixed....]);參數array是指定的數組,參數var是要添加的數組元素的值 。Array_push()函數將數組當成一個棧,將傳入的變量加入到該數組的末端,數組的長度隨著入棧變量數目的增加而增加 。返回數組新的單元總數 。<?php$arr = array("一月","二月","三月");$count = array_push($arr,"四月","五月");echo "數組長度:".$count;echo "<br/>";print_r($arr);?>輸出結果:數組長度:5Array ( [0] => 一月 [1] => 二月 [2] => 三月 [3] => 四月 [4] => 五月 )七、刪除數組中的重復元素語法格式:array array_unique(array array);參數arrray是輸入的數組 。將數組元素的值作為字符串排序,然后對每個值只保留第一個鍵名,忽略所有后面的鍵名,也就是刪除數組中的重復元素 。<?php$arr = array("1"=>"一月","2"=>"二月","3"=>"三月","4"=>"四月","5"=>"三月","6"=>"一月");echo "處理前:";print_r($arr);echo "<br/>";$af_arr = array_unique($arr);echo "處理后:";print_r($af_arr);?>輸出結果:處理前:Array ( [1] => 一月 [2] => 二月 [3] => 三月 [4] => 四月 [5] => 三月 [6] => 一月 )處理后:Array ( [1] => 一月 [2] => 二月 [3] => 三月 [4] => 四月 )明天我們來看看php里的日期和時間- 數據可視化用什么軟件 數據分析可視化軟件哪些用的多
- 網絡安全模型有哪幾種 常見的網絡安全模型有哪些
- 很喜歡文學是什么梗
- 免費cdn加速服務器 免費的cdn加速服務
- 雪糕刺客是什么意思
- 多媒體應用終端 液晶多媒體終端是什么的
- 網站規劃與設計有哪些內容 網站規劃與設計的主要內容
- 全鴨的做法大全
- 魚頭剁椒的做法
- 吃什么能快速懷孕
