【小白筆記】PHP學習之路 (11) --數組(1)

數組定義:

定義方法:
$arr = array(元素1,元素2,元素3……);

輸出數組:print_r()函數

關聯數組:定義方法:
$arr1 = array('uclass'=>'DIV+CSS','age'=>'44','birth'=>'1994-2-30');

類似於python中的字典。
數組中可以包含數組:
	$arr2 = array(array('uname'=>'小明','age'=>'15'),'two'=>array('uname'=>'小紅','age'=>'14'),33);
	echo '<pre>';
	print_r($arr2);

輸出結果:
Array
(
    [0] => Array
        (
            [uname] => 小明
            [age] => 15
        )

    [two] => Array
        (
            [uname] => 小紅
            [age] => 14
        )

    [1] => 33
)

也可以直接定義數組元素:
	$arr3[0] = 'abc';
	$arr3[1] = 'cde';
	$arr3[5] = 'opq';
	print_r($arr3);

輸出結果:
Array
(
    [0] => abc
    [1] => cde
    [5] => opq
)

如果不指定位置而給未定義的數組元素賦值,那麼將依次對數組的元素進行賦值。
	$arr4[] = 'PHP';
	$arr4[] = 'HTML5';
	$arr4[] = 'MySQL';
	print_r($arr4);

輸出結果:
Array
(
    [0] => PHP
    [1] => HTML5
    [2] => MySQL
)

當然也可以定義多維數組:
	$arr5['PHP'][] = 'PHP基礎';
	$arr5['PHP'][] = '字符串處理';
	$arr5['PHP'][] = '圖像處理';
	$arr5['PHP'][] = '數據庫操作';
	$arr5['PHP'][] = '模板引擎';
	$arr5['PHP'][] = '案例';
	$arr5['DIV+CSS'][] = 'HTML基礎';
	$arr5['DIV+CSS'][] = 'CSS佈局';
	$arr5['DIV+CSS'][] = 'hack';
	$arr5['DIV+CSS'][] = '整站標準佈局實戰';
	print_r($arr5);

結果:
Array
(
    [PHP] => Array
        (
            [0] => PHP基礎
            [1] => 字符串處理
            [2] => 圖像處理
            [3] => 數據庫操作
            [4] => 模板引擎
            [5] => 案例
        )

    [DIV+CSS] => Array
        (
            [0] => HTML基礎
            [1] => CSS佈局
            [2] => hack
            [3] => 整站標準佈局實戰
        )

)

數組的遍歷:
	foreach($arr5['PHP'] as $value){
		echo "<span style='color:#f00;'>".$value."</span><br/>";
	}

結果:
PHP基礎   
字符串處理
圖像處理
數據庫操作
模板引擎
案例

對於關聯數組,就需要對foreach進行一下修改:
	$arr_1 = array('uclass'=>'DIV+CSS','age'=>'44','birth'=>'1994-2-30');
	foreach($arr_1 as $key=>$value){
		echo $key.":".$value."<br/>";
	}

結果:
uclass:DIV+CSS
age:44
birth:1994-2-30

如果是多維數組,則需要用到is_array()函數,進一步修改:
	foreach($arr5 as $key => $value){
		if(is_array($value)){
			echo $key."<br/>";
			foreach($value as $sub_key => $sub_value){
				echo "    ".$sub_key.":".$sub_value."<br/>";
			}
		}else{
			echo $key.":".$value;
		}
	}

輸出結果:
PHP
    0:PHP基礎
    1:字符串處理
    2:圖像處理
    3:數據庫操作
    4:模板引擎
    5:案例
DIV+CSS
    0:HTML基礎
    1:CSS佈局
    2:hack
    3:整站標準佈局實戰

當然也可以通過遞歸函數來實現:
	function print_array_value($arr){
		foreach($arr as $key => $value){
			if(is_array($value)){
				echo $key.":<br/>";
				print_array_value($value);
			}else{
				echo "    ";
				echo $key.":".$value."<br/>";
			}
		}
		return;
	}
	print_array_value($arr5);

效果是完全一樣的。當然還可以嘗試更多的例如爲下一級添加特殊樣式等。
以上均爲個人理解,初學php,如果有不對的地方,歡迎大家指正!微笑
發佈了38 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章