php的array數(shù)組和使用實例簡明教程

字號:


    最近在教一個朋友php,他沒有其他語言的基礎(chǔ)。對array的理解和用法有些模糊。所以寫了個教程,需要的朋友可以參考下
    注意注釋部分的文字介紹哦~
    代碼如下:<?php
    //實例化一個數(shù)組
    $array = array();
    //數(shù)組由兩部分組成 如下
    //array(鍵名[key]=>值[value])
    //鍵名一般用與索引
    //類型可以為 int 或 字符串[int是什么可以查php手冊]
    //所以可以這樣寫
    //$array = array(0=>'a',1=>'b');
    //你也可以這樣寫
    //array會自動補(bǔ)充索引鍵名,默認(rèn)是 int值 由0開始
    $array = array('a','b');
    //測試 不能用echo 只能用 print_r 打印數(shù)組 不要問為什么,做就對了
    print_r($array);
    //輸出結(jié)果是 Array ( [0] => a [1] => b )
    //可以看出,如果你不設(shè)定鍵名[key] 它會自動補(bǔ)充 key
    //你也可以隨意改變 key
    $array = array(3=>'a',5=>'b');
    print_r($array);
    //結(jié)果 Array ( [3] => a [5] => b )
    //如果你要讀取數(shù)組的內(nèi)容,你可以這么做
    echo $array[3];
    //結(jié)果是 a
    //這里用echo 是因為只要不是數(shù)組,都可以直接用echo輸出
    //key可以為 字符串
    $array = array('aa'=>'a','bb'=>'b');
    print_r($array);
    //結(jié)果是Array ( [aa] => a [bb] => b )
    //所以你也可以 echo $array['aa']; 注意字符串都是要用引號括住
    //值[value]可以是一個變量,可以是數(shù)組
    $array = array(0=>array('a','b'),1=>array('c','d'));
    print_r($array);
    //結(jié)果是 Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => d ) )
    //這叫二維數(shù)組
    //讀取里面的內(nèi)容可以是這樣
    echo $array[0][1];
    //結(jié)果是b 也可以用
    //當(dāng)然也可以是包含更多的數(shù)組
    $array = array(0=>array(array('a','b'),array('c','d')),1=>array(array('e','f'),array('g','h')));
    //看起來有點亂,要自己慢慢領(lǐng)悟
    //回歸到實際應(yīng)用中 實例化一個數(shù)租
    $array = array();
    //模擬一個sql循環(huán) sql多數(shù)是用 while循環(huán),我這里做一個簡單的for 10次循環(huán)
    echo '<br/>'; echo '<br/>';
    for($i=0;$i<=10;$i++){
    $array[] = array('name'=>'我的名'.$i,'age'=>'我的年紀(jì)1'.$i);
    // $array[] 加中括號 是要讓他生成10 個數(shù)組 分別0 - 10
    //如果是 $array = array('name'=>'我的名'.i,'age'=>'我的年紀(jì)1'.i);
    //那么結(jié)果只有一條數(shù)組。最后一條會代替了前一條
    }
    print_r($array);
    //結(jié)果 Array ( [0] => Array ( [name] => 我的名0 [age] => 我的年紀(jì)10 ) [1] => Array ( [name] => 我的名1 [age] => 我的年紀(jì)11 ) [2] => Array ( [name] => 我的名2 [age] => 我的年紀(jì)12 ) [3] => Array ( [name] => 我的名3 [age] => 我的年紀(jì)13 ) [4] => Array ( [name] => 我的名4 [age] => 我的年紀(jì)14 ) [5] => Array ( [name] => 我的名5 [age] => 我的年紀(jì)15 ) [6] => Array ( [name] => 我的名6 [age] => 我的年紀(jì)16 ) [7] => Array ( [name] => 我的名7 [age] => 我的年紀(jì)17 ) [8] => Array ( [name] => 我的名8 [age] => 我的年紀(jì)18 ) [9] => Array ( [name] => 我的名9 [age] => 我的年紀(jì)19 ) [10] => Array ( [name] => 我的名10 [age] => 我的年紀(jì)110 ) )
    //怎么用呢?
    ?>
    <ul>
    <?php
    foreach ($array as $value) {
    echo '<li>'.$value['name'].' | '.$value['age'].'</li>';
    }
    ?>
    </ul>
    <?php
    //以上結(jié)果加入了html代碼,你舉一反三吧
    //如果你要對數(shù)組進(jìn)行操作 例如 過濾上面的$array 里一共有10個數(shù)組,現(xiàn)在你要刪除掉 key 為 3 的那一條
    unset($array[3]);
    print_r($array);
    //你會看到 3的那個沒有了
    //以上是簡單的用法,下次說些高級的
    ?>