- <?php
- /*
- *PHP的數組詳解
- *
- *
- *創建數組的兩種方式
- */
- //通過array關鍵字來初始化數組並填入相應值
- //輸出結果:Array ( [0] => 李彥宏 [1] => 馬雲 [2] => 周鴻偉 [3] => 俞敏洪 [4] => 李開復 )
- $userNames = array('李彥宏','馬雲','周鴻偉','俞敏洪','李開復');
- //print_r():打印關於變量的易於理解的信息
- print_r($userNames);
- echo '<br>';
- //通過range()自動創建一個數組,range()的第三個參數表示的步長,指間隔多少個位置再進行輸出
- //輸出結果:Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 )
- $numbers = range(1,10,2);
- print_r($numbers);
- echo '<br>';
- //使用有序數字作爲數組的下標時,可以直接用for循環對數組進行遍歷
- for($i=0;$i<5;$i++){
- echo $numbers[$i].' ';
- }
- echo '<br>';
- //foreach()用於遍歷key值不是有序數字的數組
- //is_array()用於判斷一個變量是否是數組類型
- $foreachNames = array('www.baidu.com'=>'李彥宏','www.taobao.com'=>'馬雲','www.microsoft.com'=>'微軟');
- echo is_array($foreachNames).'<br>'; //結果:1
- foreach($foreachNames as $key => $value){
- echo $key.'對應的創始人是:'.$value.' '.'<br>';
- }
- //使用each()打印數組的內容:
- //echo()的作用是將數組的當前元素構建成一個新數組並返回,並將下一個元素作爲當前元素
- $ages=array('吳祁'=>19,'李炎恢'=>27,'胡心鵬'=>23);
- $number=array(1);
- //print_r(($number));
- //echo '<br>';
- //print_r(each($ages));
- //echo '<br>';
- //print_r(each($ages));
- //echo '<br>';
- //print_r(each($ages));
- //echo '<br>';
- //$element = each($ages);
- //echo !!$element;
- //while(!!$element = each($ages)){
- // echo $element['key'].'=>'.$element['value'].'<br>';
- //}
- echo '<br>';
- //list():將一個數組分解成一系列的值,但是其只認識下標爲數字的數組元素,所以自定義的字符串的key是//無法使用list()來識別的
- list($name,$age)=each($ages);
- echo $name.' '.$age;
- //reset()將數組內部的指針指向第一單元
- //array_unique()移除一個數組中重複的值,不會影響原來的數組
- //array_flip() 交換數組中的鍵和值,但是不會影響原來的數組
- echo '<br>';
- //在擁有key值情況下的二維數組:
- $products = array(
- array("產品名"=>"蘋果","數量"=>6,"價格"=>28.8),
- array("產品名"=>"豬肉","數量"=>2,"價格"=>32.1),
- array("產品名"=>"餅乾","數量"=>3,"價格"=>45.3)
- );
- //顯示這個數組
- //第一種方式:
- //for($row=0;$row<3;$row++){
- // echo $products[$row]["產品名"]."|".
- // $products[$row]["數量"]."|".
- // $products[$row]["價格"];
- //}
- //echo '<br>';
- //第二種方式:
- for($row=0;$row<3;$row++){
- while(!!list($key,$value)=each($products[$row])){
- echo "|".$value;
- }
- echo "|<br>";
- }
- //數組的排序
- //sort():安裝字母升序或者數字升序對數組進行排序,key值會隨之改變
- //asort():保持原始的key值不變的排序方式(保持索引關係)
- //ksort():按照鍵名進行排序
- //rsort(),krsort(),arsort(),反向排序
- //SORT_NUMERIC,SORT_STRING
- //shuffle():將數組順序打亂
- //array_reverse():對數組進行倒序排序,不會影響原來的數組
- //array_unshift():將一個或者多個新元素添加到數組頭,返回值爲插入後的數組的元素個數
- //array_shift():刪除開頭的元素
- //array_pop():刪除結尾的元素
- //array_count_value():統計數組內所有的值出現的次數
- //array_push():將每個新元素添加到數組的末尾
- //array_rand():獲取一個數組中某些元素的鍵值
- //current():獲取當前的元素,指針不會下移
- //extract():將數組轉換成標量變量
- $array=array("key1"=>"value1","key2"=>"value2","key3"=>"value3");
- extract($array);
- echo $key1.$key2.$key3;
- ?>
PHP的數組
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.