程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 笨鳥學php(六) 數組

笨鳥學php(六) 數組

編輯:關於PHP編程

笨鳥學php(六) 數組


一、數組概述

1.1 數組是復合類型

1.2 數組中可以存儲任意長度的數據, 也可以存儲任意類型的數據


二、數組的類型

2.1 索引數組: 下標是順序整數作為索引

';
	print_r($user);
	echo '
'; ?>

2.2 關聯數組: 下標是字符串作為索引

';
	print_r($user);
	echo '
'; $user["name"] = "lisi"; echo $user["name"]; ?>

三、數組的多種聲明方式

3.1 直接為數組元素賦值

a. 如果索引下標不給值,就會從0開始順序索引
b. 如果給出索引下標,下一個就會是從最大的開始增1

c. 如果後面出現前面的下標,如果是賦值就是為前面的元素重新賦值
d. 混合聲明時,索引和關聯不互相影響(不影響索引下標的聲明)


3.2 使用array()函數

a. 默認是索引數組

b. 如果為關聯數組和索引數組指定下標,使用 鍵=>值
c. 多個成員之前使用“,”分割

';
	print_r($user1);
	echo '
'; /** Array( [0] => 1 [1] => zhsangsan [2] => 10 [3] => nan [4] => [email protected] ) */ $user2 = array("id"=>1, "name"=>"zhsangsan", "age"=>10, 100=>"nan", "[email protected]"); echo '
';
	print_r($user2);
	echo '
'; /** Array( [id] => 1 [name] => zhsangsan [age] => 10 [100] => nan [101] => [email protected] ) */ ?>

重要知識點: 二維數組

array(
				array(1, "zansan", 10, "nan"),
				array(2, "lisi", 20, "nv")
		 )
	);
	echo $info["user"][1][1]; // lisi
	echo '
';
	print_r($info);
	echo '
'; /** Array ( [user] => Array ( [0] => Array ( [0] => 1 [1] => zansan [2] => 10 [3] => nan ) [1] => Array ( [0] => 2 [1] => lisi [2] => 20 [3] => nv ) ) ) */ ?>

四、數組的遍歷

4.1 使用for語句循環遍歷(不推薦)

局限性: 數組必須是索引數組, 而且下標必須是連續的 (然而索引數組下標可以不連續, 數組還可能是關聯數組)

";
	}
	
	/**
	 	$user[0]=1
		$user[1]=zhasna
		$user[2][email protected]
	 */
?>

4.2 使用foreach語句循環遍歷(強烈推薦)

循環次數由數組的元素個數決定, 每一次循環都會將數組中的元素分別賦值給後面的變量

"zhasna", "age"=>40, 100=>"nan", "[email protected]");
    foreach($user as $key => $val){   // $var 是自定義變量, $key自定義變量
  		echo $key." =====> ".$val."
"; } /* 0 =====> 1 name =====> zhasna age =====> 40 100 =====> nan 101 =====> [email protected] */ foreach($user as $val){ // 不要key也可以, 直接遍歷$user的值 echo $val."
"; } /* 1 zhasna 40 nan [email protected] */ ?>

4.3 使用while(), list(), each() 組合循環遍歷(不推薦)

each() 函數:

* 需要一個數組作為參數

* 返回來的也是一個數組

* 返回來的數組時0, 1, key, value四個下標, 0和key下標是當前數組元素的鍵, 1和value下標是當前數組元素的值

* 默認當前元素就是第一個元素

* 每執行一次後就會將當前元素向後移動

* 如果已經到了最後還執行這個函數, 則返回false

1, "name"=>"zhangsan", "age"=>10, "sex"=>"nan");
	
	while($arr = each($user)){
		// echo $arr[0]."==>".$arr[1]."
"; echo $arr["key"]." ----> ".$arr["value"]."
"; } /** id ----> 1 name ----> zhangsan age ----> 10 sex ----> nan */ ?>

list() 函數:

* list()=array(); 需要將一個數組賦值給這個函數

* 數組中的元素個數要和list()函數中的參數個數相同
* 數組中的每個元素值會賦值給list()函數中的每個參數,list()將每個參數轉為變量

* list()只能接收索引數組

";
	echo $age."
"; // list中的值和數組中的值一一對應 echo $sex."
"; // 如果不想給name賦值, 那就寫成list(, $age, $sex) /* zansan 10 nnnnn */ $user1 = array("id"=>1, "name"=>"zhangsan", "age"=>10, "sex"=>"nan"); list($key, $value) = each($user1); // Array ( [1] => 1 [0] => id ) echo $key." --> ".$value; /* id --> 1 */ $user2 = array("id"=>1, "name"=>"zhangsan", "age"=>10, "sex"=>"nan"); while(list($key, $value) = each($user2)){ echo $key." ==> ".$value."
"; } /* name ==> zhangsan age ==> 10 sex ==> nan */ ?>







  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved