二十七. 數組的遍歷
1)通過函數進行遍歷:(例:demo07)
(此方式不能完全遍歷數組,需要借助其他功能輔助)(不推薦,了解即可)
key():返回數組中當前指針所在位置的鍵。
current():返回數組中當前指針所在位置的值。
例如:demo07:
<?php/*key():返回數組中當前指針所在位置的鍵。current():返回數組中當前指針所在位置的值。*/$city = array("云南"=>"昆明","四川"=>"成都","貴州"=>"貴陽");//$key = key($city);//echo $key; // 此時只能獲取第一個key//$value = current($city);//echo $value; // 此時只能獲取第一個value// 1.借助while循環完成遍歷所有的key// 只要里面有key值,就一直循環。直到最后一個key/*while($key = key($city)){ echo $key; next($city); // 每次輸出后,指針向下移動一位。}*/// 2.借助while循環完成遍歷所有的value/*while($value = current($city)){ echo $value; next($city); // 每次輸出后,指針向下移動一位。}*/
?>
2)foreach遍歷與for遍歷(推薦使用此兩種方法) (例:demo08)
例如:demo08:
<?php$city = array("云南"=>"昆明","四川"=>"成都","貴州"=>"貴陽");// 1.foreach遍歷/*foreach($city as $k=>$v){ echo($k."--".$v."<br/>");}*/// 2.for遍歷二維數組$city2 = array(array("昆明","麗江","澄江"),array("成都","綿陽","內江"),array("貴陽","遵義","六盤水"));for($i=0; $i<count($city2); $i++){print_r($city2[$i]);echo "<br/>";}
?>
二十八. 數組相關的函數 (例:demo09)
1)count() / sizeof() 返回數組的元素個數。
2)array_count_values() 返回數組,里面統計每個值的出現次數。
3)array_unique() 刪除數組中所有重復的值,返回一個由唯一值組成的數組。
4)補充:count(數組名, [0,1]) 如果是0,就默認統計。如果是1,遞歸統計。
例如:demo09:
<?php$city = array("昆明","成都","貴陽","昆明","成都","成都","成都","成都","成都","成都");//1.count() / sizeof() 返回數組的元素個數。//echo count($city);//echo sizeof($city);// 2.array_count_values() 返回數組,里面統計每個值的出現次數//$arr = array_count_values($city);//print_r($arr);// 3.array_unique() 刪除數組中所有重復的值,返回一個由唯一值組成的數組//print_r(array_unique($city));// 4.count(數組名, [0,1]) 如果是0,就默認統計。如果是1,遞歸統計。//$city2 = array("昆明",array("成都","宜賓","樂山"),"貴陽");//echo count($city2, 0); // 3/*$city2 = array("北京",array("昆明","麗江","澄江"),array("成都","綿陽","內江"),array("貴陽","遵義","六盤水"),"上海");*///echo count($city2 ,1); // 14?>
二十九. 數組的排序 (例:demo10)
1)array_reverse(數組名, [true]) :將數組的元素倒敘排列。默認是false,如果是true表示綁定默認的鍵,默認的鍵和值一起倒敘排列。
2)array_flip() 置換數組中鍵與值的角色。
3)sort(數組名, 分類編碼) 對數組中各元素的值按照由低到高的順序排列。
分類編碼如下:
0:默認,按照標準的ASCII編碼順序。(默認不寫)
1:按照數字順序。
2:按照字符串順序。
3:按照當前區域的字符串順序。
4:按照字符串的自然排序。
5:按照字符串順序,不區分大小寫。
例如:demo10:
<?php$names = array("C"=>"Cindy","A"=>"Ada","P"=>"Panny","Z"=>"Zeely","J"=>"Jackie");print_r($names);echo "<br/>";//1.array_reverse() 將數組的元素倒敘排列。print_r(array_reverse($names));echo "<br/>";//print_r(array_reverse($names ,false)); // 默認的鍵和值一起倒敘排列// 2.array_flip() 置換數組中鍵與值的角色。print_r(array_flip($names)); // 3.sort(數組名, 分類編碼) 對數組中各元素的值按照由低到高的順序排列。sort($names); //默認排序print_r($names);echo "<br/>";print_r(array_reverse($names)); // 默認排序后,再倒敘排列 $num = array(4,99,12,6,36,90,109,10010);sort($num);print_r($num);echo "<br/>";sort($num,2);print_r($num);
?>
三十. 數組的合并、接合、截取 (例:demo11)
1)array_merge(數組1,數組2,......) :合并數組,如果鍵重名,會覆蓋掉前面的數組。
2)array_merge_recursive(數組1,數組2,......) :合并數組,如果鍵重名,會把兩個值合并在一起,形成一個新的數組,并以原有的鍵作為組名。
3)array_combine(一組keys,一組values),把提交的一組鍵和一組值接合成一個新的數組。
4)array_slice(數組名,start,[長度] ),從某一個索引開始截取數組的一部分,得到一個新的數組。
例如:demo11:
<?php//$names = array("yw"=>"語文","sx"=>"數學","yy"=>"英語");//$address = array("km"=>"昆明","dl"=>"大理","yw"=>"義烏","yy"=>"音樂");// 1.array_merge() :合并數組,如果鍵重名,會覆蓋掉前面的元素。//print_r(array_merge($names,$address));//echo "<br/>";// 2.array_merge_recursive() :合并數組,// 如果鍵重名,會把兩個值合并在一起,形成一個新的數組,并以原有的鍵作為組名//print_r(array_merge_recursive($names,$address));//echo "<br/>";// 3.array_combine(),把提交的一組鍵和一組值接合成一個新的數組$subject = array("語文","數學","英語");$score = array(126,145,30);print_r(array_combine($subject,$score));// 4.array_slice(數組名,start,[長度] )// 從某一個索引開始截取數組的一部分,得到一個新的數組$subject = array("語文","數學","英語","物理","化學","生物");//$newArr = array_slice($subject,2); // 從索引2開始截取$newArr = array_slice($subject,2, 3); // 從索引2開始截取,長度是3print_r($newArr);
?>
三十一. 類與對象:(例:demo01.php)
PHP中的類,表示在程序中處理的實際事物。類中可以定義字段(變量)和方法,這些變量和方法屬于類的成員,也稱為成員變量和成員方法。他們可以通過訪問修飾符來設置其作用域,如:private和protected等。