PHP強大的數組

 這段時間偷懶放鬆去老~啊哦~來回憶下關於數組在PHP中的使用。C語言或者C++一類語言,數組雖然很強大,但指針卻是個老大難問題。而在PHP中基本不存在這種情況,數組可以理解爲一個有向圖,初學者能較短時間理解並運用它(我也是初學者~)。

PHP中數組分爲兩種,一是索引數組,二是關聯數組。數組形式均爲array(key1=>value1,key2=>value2,·····)key稱爲鍵值,value則是數組元素。索引數組就是鍵值爲整數值,而關聯數組則爲字符串,這就是兩者不同之處。只需記住若是任意某一數組元素的鍵值爲字符串,則該數組爲關聯數組。在PHP中多維數組中二維常見,其他維數類比即可。

二維數組的數組元素仍爲數組

array(key1=>array1(key1=>value1,),key2=>array2(key2=>value2),·····)

 

關於數組的輸出,全部輸出可以用Var_dump(),也可以用for或者foreach循環。不過需要注意前者只能用於索引數組,而後者則不存在這種情況。for的使用同C,而foreach可以說說。

一種是輸出數組元素:

foreach (array() as $value) {
   echo $value;
   echo "<br/>";
}

另一種則是輸出鍵值和數組元素:

foreach ( array() as $key=>$value) {
    echo $key."=>".$value.'<br/>';
}

關於foreah的實例:

<?php
  $arr=array(1, 3, "for"=>4, 5, 6, 7, 8,9,10=>"aa",
"bb", "cc");
		
	/*for($i=0; $i<count($arr); $i++){
		echo "\$arr[".$i."]=".$arr[$i]."<br>";
	}*/
	
	/*當 foreach 開始執行時,數組內部的指針會自動指向第一個單元。
	此外注意foreach 所操作的是指定數組的一個拷貝,而不是該數組本身*/
	
/*	foreach ($arr as $value) {
				var_dump ($value);
				echo '<hr/>'	;*/
	foreach ($arr as $key =>$value) {
				echo $key.'=>'.$value;
				echo '<hr/>'	;
	}
?>


我們還可以用list()和each()對數組進行遍歷。

<?php
/**********************************************************************/
/*****array  each ( array array)******/
/*****返回 array 數組中當前指針位置的鍵/值對並向前移動數組指針。******/
/*****鍵值對被返回爲四個單元的數組,鍵名爲 0,1,key 和 value。
/*****單元 0 和 key 包含有數組單元的鍵名,1 和 value 包含有數據。******/
/*****如果內部指針越過了數組的末端,則 each() 返回 FALSE。 ******/
/*****each() 經常和list( ) 結合使用來遍歷數組。******/
/*****void list ( mixed ...)******/
/*****它不是真正的函數,而是語言結構。list() 用一步操作給一組變量進行賦值。******/ 
/*****	注: list() 僅能用於數字索引的數組並假定數字索引從0開始。******/
/*****在執行 each() 之後,數組指針將停留在數組中的下一個單元或者當碰到數組******/
/*****結尾時停留在最後一個單元。如果要再用 each 遍歷數組,必須使用reset( )。******/
/*****************************************************************/
		$fruit = array('a'=>'apple','b'=>'banana','c'=>'cranberry');
		reset($fruit);//reset() 函數把數組的內部指針指向第一個元素,並返回這個元素的值。若失敗,則返回 FALSE。
		while(list($a,$b)=each($fruit)) {
				echo "$a => $b\n";
		}
?>
<?php
		$fruit = array('a'=>'apple','b'=>'banana','c'=>'cranberry');
		reset($fruit);//reset() 函數把數組的內部指針指向第一個元素,並返回這個元素的值。若失敗,則返回 FALSE。
		while($temp=each($fruit)) {
			//echo $temp[0]."===>".$temp[1]."<br>";
       echo $temp['key']."===>".$temp['value']."<br>";  
		}
		echo '<hr/>';
?>

懶得寫了。就附加源代碼,希望對大家有點參考。

發佈了53 篇原創文章 · 獲贊 6 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章