中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP整理筆記四

發布時間:2020-07-10 11:19:28 來源:網絡 閱讀:296 作者:菜鳥不菜么 欄目:web開發

一.什么是數組

傳統上把數組(array)定義為一組有某種共同特性的元素,包括相似性和類型。每個元素由一個特殊的標識符來區分,稱之為鍵(key);而每個鍵對應一個值(value)

 

李彥宏

周鴻祎

馬云

俞敏洪

李開復

吳祁

 

依照上表,我們創建一個數組。

 

第一種:

        $userNames=array('李彥宏','周鴻祎','馬云','俞敏洪','李開復','吳祁');

這是索引數組初始化:

數字索引的初始值是從0開始計算的:

           userNames[0]---userNames[5],代表這6個人的名字。

 

第二種:

通過range()函數自動創建一個數組

$numbers=range(1,10)    $letters=range('a','z')

可以加第三個參數$numbers=range(1,10,2),第三個參數表示步長

 

訪問數組的內容:

要訪問一個變量的內容,可以直接使用其名稱。如果該變量是一個數組,可以使用變量名稱和關鍵字或索引的組合來訪問其內容。

$numbers[0]$numbers[1]$numbers[2];等。

 

改變數組的值:

    $numbers[0]="Lee";

 

使用循環訪問數組

由于數組使用有序的數字作為索引,所以使用一個for循環就可以很容易地顯示數組的內容:

       for ($i=0;$i<10;$i++) {

              echo $numbers[$i];

}

 

也可以使用foreach循環來遍歷數組:

       foreach ($numbers as $value) {

              echo $value;

}

 

測試是否為數組變量:is_array();

print_r 函數:打印關于變量的易于理解的信息

 

二.自定義鍵數組

 

初始化相關數組

       $ages=array('吳祁'=>19,'李炎恢'=>27,'胡心鵬'=>23);

 

訪問數組元素

$ages["吳祁"];

$ages["李炎恢"];

$ages["胡心鵬"];

追加數組:首先,創建只有一個元素的數組,然后追加兩個元素。

$ages=array("吳祁"=>19);

$ages["李炎恢"]=27;

$ages["胡心鵬"]=23;

 

直接添加數組:無需創建,直接添加,添加第一個元素自動建立數組。

$ages["吳祁"]=19;

$ages["李炎恢"]=27;

$ages["胡心鵬"]=23;

 

使用循環語句:因為相關數組的索引不是數字,因此無法使用for循環語句中使用一個簡單的計數器對數組進行操作。但是可以使用foreach循環或list()each()結構。

       foreach ($ages as $key=>$value) {

              echo $key."=>".$value."<br/>";

}

 

使用each()結構打印$ages數組的內容:each()函數返回數組的當前元素,并將下一個元素作為當前元素。

       while (!!$element=each($ages)) {

              echo $element["key"];

              echo "=>";

              echo $element["value"];

              echo "<br/>";

}

使用list()函數,可以用來將一個數組分解為一系列的值。可以按照如下方式將函數each()返回的兩個值分開:

list($name,$age)=each($ages);

 

當使用each()函數時,數組將記錄當前元素。如果希望在相同的腳本中兩次使用該數組,就必須使用函數reset()將當前元素重新設置到數組開始處。

reset($prices);

 

確定唯一的數組元素:array_unique();它會刪除掉里面相同值的元素。

置換數組鍵和值:array_flip();它會對調數組中的keyvalue;

 

 

三.數組里的數組

數組不一定就是一個關鍵字和值的簡單列表----數組中的每個位置用來保存另一個數組。使用這種方法,可以創建一個二維數組。可以把二維數組當成一個矩陣,或者是一個具有寬度和高度或者行和列的網格。

二維表

產品名

數量

價格

蘋果

6

28.8

豬肉

2

32.1

餅干

3

45.3

   

$products=array(

                                   array("蘋果",6,28.8),

                                   array("豬肉",2,32.1),

                                   array("餅干",3,45.3)

);

顯示這個二維數組:

       echo "|".$products[0][0]."|".$products[0][1]."|".$products[0][2]."|<br />";

       echo "|".$products[1][0]."|".$products[1][1]."|".$products[1][2]."|<br />";

echo "|".$products[2][0]."|".$products[2][1]."|".$products[2][2]."|<br/>";

 

此外,還可以使用雙重for循環來實現同樣的效果:

    for ($row=0;$row<3;$row++) {

              for ($column=0;$column<3;$column++) {

                     echo "|".$products[$row][$column];

              }

              echo "|<br/>";

}

使用列明的二維數組:

       $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]["價格"]."|<br/>";

}

 

第二種方式:

    for ($row=0;$row<3;$row++) {

              while (!!list($key, $value)=each($products[$row])) {

                     echo "|".$value;

              }

              echo "|<br/>";

       }

 

 

四.數組的排序

對保存在數組中的相關數據進行排序是一件非常有意義的事情。使用并且排序一個一維數組是非常簡單的。

 

使用sort()函數將數組按字母升序進行排序。

       $products=array("orange","banner","apple");

sort($products);

 

使用sort()函數將數字升序進行排序。

       $prices=array(100,10,4,23,78);

sort($prices);

 

sort()函數的第二個參數是可選的。這個可選參數可以傳遞SORT_REGULAR(默認值)、SORT_NUMERICSORT_STRING。指定排序類型的功能是非常有用的。比如,當要比較可能包含有數字212的字符串時,從數字角度看,2要小于12,但是作為字符串,"12"卻要小于"2"

 

使用asort()函數和ksort()函數對相關數組排序

創建一個包括3個產品及價格的數組,然后將它們按價格的升序進行排序:

    $prices=array("c"=>蘋果,"a"=>豬肉,"b"=>餅干);

asort($prices);

按說明排序使用ksort()函數

ksort($prices)

 

反向排序:sort()asort()ksort()都是正向排序,當然也有相對應的反向排序.

實現反向:rsort()arsort()krsort()

 

在一些應用程序中,可能希望按另一種方式對數組排序。函數shuffle()將數組個元素進行隨機排序。函數array_reverse()給出一個原來數組的反向排序。

       shuffle($pictures);

array_reverse($pictures);

 

array_unshift()函數將新元素添加到數組頭,array_push()函數將每個新元素添加到數組的末尾。

array_shift()刪除數組頭第一個元素,與其相反的函數是array_pop(),刪除并返回數組末尾的一個元素。

array_rand()返回數組中的一個或多個鍵。

 

五.數組的指針操作

 

在數組中瀏覽:each()current()reset()end()next()pos()prev();

調用next()each()將使指針前移一個元素。調用each($array_name)會在指針前移一個位置之前返回當前元素。next()函數則有些不同----調用next($array_name)是將指針前移,然后再返回新的當前元素。

要反向遍歷一個數組,可以使用end()prev()函數。prev()函數和next()函數相反。它是將當前指針往回移一個位置然后再返回新的當前元素。

 

六.統計數組個數

count()sizeof()統計數組下標的個數

array_count_values()統計數組內下標值的個數

 

七.將數組轉換成標量變量:extract()

對于一個非數字索引數組,而該數組又有許多關鍵字-值對,可以使用函數extract()將它們轉換成一系列的標量變量。extract()函數原型如下:

extract(array var_array,[intextract_type],[string prefix]);

函數extract()的作用是通過一個數組創建一系列的標量變量,這些變量的名稱必須是數組中關鍵字的名稱,而變量值則是數組中的值。

    $array=array("key1"=>"value1","key2"=>"value2","key3"=>"value3");

       extract($array);//講數組中的鍵變為變量可以直接輸出

echo $key1.$key2.$key3;

    

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永年县| 潞西市| 五指山市| 扬州市| 当涂县| 大足县| 阆中市| 晋城| 元阳县| 怀集县| 扶风县| 肇州县| 自贡市| 仁怀市| 广德县| 方城县| 平潭县| 东明县| 仙居县| 密山市| 台南市| 黄平县| 博爱县| 扬州市| 吐鲁番市| 城固县| 梓潼县| 隆尧县| 祥云县| 宝丰县| 托克逊县| 沂源县| 临夏市| 贺州市| 友谊县| 宝兴县| 合水县| 满城县| 五河县| 平江县| 徐闻县|