PHP開發劄記系列(九)- 數組(一)

來源:互聯網
上載者:User
PHP開發筆記系列(九)- 數組(一)

??? 最近在做項目的時候,經常需要用到關聯陣列的處理,發現PHP裡面有很多內建的數組處理函數,使用起來非常方便,而且效率不錯,重新整理一下, 作為《PHP開發筆記系列(XAMPP+PhpEclipse+XDebug)》 的第九篇,《PHP開發筆記系列(九)- 數組(一)》,記錄PHP數組的相關操作。


??? 1. Php的數組定義

??? Php的數組類似於JAVA中Map的概念,數組中的元素有一個特殊的標識符來區分,稱為鍵(Key),而每個鍵對應的就是值(Value)。因此一個鍵(Key)和值(Value)的組合組成數組中的一個元素。Php數組中的元素比較靈活,每個元素不必是同一種類型,例如可以是整型、字串等。


??? 2. Php的數組賦值

???? Php的鍵可以是數值鍵(numerical),也可以是關聯鍵(associative)。數值鍵與值沒有真正關係,只是值在數組中的位置,而關聯鍵則指向值。

?

$data[0] = '1st value'; $data[1] = '2nd value'; $data[2] = '3rd value';$data['1st'] = '1st value'; $data['2nd'] = '2nd value'; $data['3rd'] = '3rd value';echo $data[0];echo $data['3rd'];

?

??? 3. Php的多維陣列

???? Php的數組可以簽到,形成多維陣列。可以通過以下方式定義:

$data['school1']['grade1'] = 'grade 1'; $data['school1']['grade2'] = 'grade 2';$data['school1']['grade3'] = 'grade 3';echo $data['school1']['grate1'];

?

??? 4. 建立數組

??? 除了使用上面的方式建立數組外,還可以通過建構函式array()進行數組建立,如下:

// 建立空數組$data = array();// 建立數值鍵非空數組$numeric_data = array('1st value', '2nd value', '3rd value');// 建立關聯鍵非空數組$map_data = array('1st'=>'1st value', '2nd'=>'2nd value', '3rd'=>'3rd value');// 建立數組$multi_map_data = array('s1'=>array('g1'=>'grade1', 'g2'=>'grade2'), 's2'=>array('g3'=>'grade3', 'g4'=>'grade4')  );

?

??? 5. 使用list()提取數組

??? list()函數與array()類似,但它可以在一次操作中從一個數組內提取多個值,同時為多個變數賦值。從資料庫或檔案中提取資訊時,這種構造特別有用。


??? 例如,一個檔案school.txt,需要從該檔案讀取資訊,檔案的每一行都包含學習的名稱、年級、班級、學生姓名等資訊,每一項使用“,”進行分割,如

file:array-list.txtSchool1,grade1,class1,jackSchool1,grade1,class2,dannySchool1,grade2,class1,mikeSchool1,grade2,class2,lilySchool2,grade1,class1,dickSchool2,grade1,class2,marySchool2,grade2,class1,johnySchool2,grade2,class2,smart... ...
?

?

??? 可以通過一個簡單的迴圈使用list()來讀取每一行,將各部分資料賦給變數,按照需要格式化並輸出資料,代碼如下:

?

file: array-list.phpurl: http://localhost:88/array/array-list.php';    }        fclose($fp);?>
?

??? 6. 測試變數是否為數組

??? 使用數組時,有時候需要使用某個特定變數是否為一個數組。內建函數is_array()可以判斷變數是否為數組,如果是返回TRUE,否則返回FALSE。

?

file: is_array.phpurl: http://localhost:88/array/is_array.php1);        echo is_array($arr) ? 'TRUE' : 'FALSE';    echo '
'; echo is_array($arr1) ? 'TRUE' : 'FALSE'; echo '
'; echo is_array($arr2) ? 'TRUE' : 'FALSE'; echo '
'; ?>

?

??? 7. 輸出數組

??? 輸出數組的方式很多,可以使用foreach、for、while等進行數組元素遍曆,代碼如下:

file: output-array.phpurl: http://localhost:88/array/output-array.php';    }        echo '======================'.'
'; $i = 0; while ($i < count($data)) { echo $data[$i].'
'; $i++; } echo '======================'.'
'; for ($i = 0; $i < count($data); $i++) { echo $data[$i].'
'; } echo '======================'.'
'; $map['1st'] = '1st value'; $map['2nd'] = '2nd value'; $map['3rd'] = '3rd value'; foreach ($map as $key => $value) { echo $key.':'.$value.'
'; } ?>

?

??? 今天先寫到這,改天繼續。


?? 本文地址:http://ryan-d.iteye.com/blog/1566123

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.