1. 程式人生 > >多維陣列、銷燬(刪除)元素

多維陣列、銷燬(刪除)元素

多維陣列:一個數組中的值是另一個數組,另一個數組的值也可以是一個數組。可以建立二維陣列或者三維陣列;

首先建立一個二維陣列,定義一個數組,存放多名學生資訊。

<?php
header('content-type:text/html;charset:utf-8');
//存放多名學生資訊

//第一種方式
$arr = array(
 			 array(1001,'張三','男',20),
			 array(1002,'李四','男',20),
			 array(1003,'王五','女',21)
	);
echo '<pre>';
print_r($arr);
echo '</pre>';



//第二種方式
$arr = array();
$arr[1001] = array(1001,'李四','男',20);
$arr[1002] = array(1002,'王五','女',21);
$arr[1003] = array(1003,'王三','女',21);

echo '<pre>';
print_r($arr);
echo '</pre>';

以上兩種方式都可以建立,輸出結果都是一樣的。

注:<pre></pre>  是為了讓在瀏覽器輸出結果更為直觀。輸出結果為

Array
(
    [0] => Array
        (
            [0] => 1001
            [1] => 張三
            [2] => 男
            [3] => 20
        )

    [1] => Array
        (
            [0] => 1002
            [1] => 李四
            [2] => 男
            [3] => 20
        )

    [2] => Array
        (
            [0] => 1003
            [1] => 王五
            [2] => 女
            [3] => 21
        )

)

銷燬(刪除)元素用unset()函式或者array_splice()

<?php
$a = array('a1'=>'張三','a2'=>'李四','a3'=>'王五');
//(銷燬)刪除a2這個元素
print_r($a);
echo '<br>';
unset($a['a2']);
print_r($a);

輸出結果為:這樣就把'a2'這個刪除了

Array ( [a1] => 張三 [a2] => 李四 [a3] => 王五 )  Array ( [a1] => 張三 [a3] => 王五 )

用array_splice也可以實現相同的效果

array_splice(input(陣列名),offset(索引號),length(刪除幾個元素))

如果 offset 為正,則從 input 陣列中該值指定的偏移量開始移除。如果 offset 為負,則從 input 末尾倒數該值指定的偏移量開始移除。

如果省略 length ,則移除陣列中從 offset 到結尾的所有部分。如果指定了 length 並且為正值,則移除這麼多單元。如果指定了 length 並且為負值,則移除從 offset 到陣列末尾倒數 length 為止中間所有的單元。小竅門:當給出了 replacement 時要移除從 offset 到陣列末尾所有單元時,用 count($input) 作為 length

<?php
header('content-type:text/html;charset=utf-8');
$a = array('張三','李四','王五');

print_r($a);
echo '<br>';
array_splice($a,1,1);
print_r($a);

輸出結果為

Array ( [0] => 張三 [1] => 李四 [2] => 王五 )  Array ( [0] => 張三 [1] => 王五 )