一、二維數組的基本定義
二維數組指的是一個數組中包含有另一個數組。在 PHP 中,創建二維數組的方式非常簡單。可以直接在一個數組中使用數組聲明語法來聲明二維數組。
$arr = array(
array("apple", "orange"),
array("banana", "strawberry", "mango"),
array("grape")
);
上述示例中,我們創建了一個包含三個元素的數組,每個元素都是一個包含不等數量元素的數組。可以使用 print_r($arr) 函數來輸出此數組。代碼如下:
print_r($arr);
執行上述代碼即可得到以下輸出結果:
Array
(
[0] => Array
(
[0] => apple
[1] => orange
)
[1] => Array
(
[0] => banana
[1] => strawberry
[2] => mango
)
[2] => Array
(
[0] => grape
)
)
二、遍歷二維數組
在遍歷二維數組時,我們需要使用兩個循環。外層循環用於遍歷包含其他數組的數組,而內層循環用於遍歷每個包含元素的數組。
foreach($arr as $value) {
foreach($value as $v) {
echo $v . " ";
}
echo "
";
}
執行上述代碼可以得到以下輸出結果:
apple orange
banana strawberry mango
grape
三、二維數組的排序
對於一個多維數組,我們可以使用 PHP 內置函數 sort、rsort、asort 和 arsort 來進行升序、降序、按鍵值升序和按鍵值降序排列。
$arr = array(
array("apple", "orange"),
array("banana", "strawberry", "mango"),
array("grape")
);
// 對數組進行排序
foreach ($arr as $key => $value) {
sort($arr[$key]);
}
// 輸出排好序的數組
print_r($arr);
執行上述代碼可以得到以下輸出結果:
Array
(
[0] => Array
(
[0] => apple
[1] => orange
)
[1] => Array
(
[0] => banana
[1] => mango
[2] => strawberry
)
[2] => Array
(
[0] => grape
)
)
四、二維數組的過濾
PHP 中支持使用 array_filter 函數過濾二維數組。在數組過濾中,我們可以使用回調函數的方式來判斷數組中的元素是否需要過濾。
$arr = array(
array("apple", "orange", "banana"),
array("banana", "strawberry", "mango"),
array("grape", "orange")
);
function filter($array) {
if (in_array("orange", $array)) {
return true;
} else {
return false;
}
}
$filteredArray = array_filter($arr, "filter");
print_r($filteredArray);
執行上述代碼可以得到以下輸出結果:
Array
(
[0] => Array
(
[0] => apple
[1] => orange
[2] => banana
)
[2] => Array
(
[0] => grape
[1] => orange
)
)
五、二維數組的搜索
使用 PHP 內置函數 array_search,我們可以輕易地在二維數組中搜索指定元素的位置。
$arr = array(
array("apple", "orange", "banana"),
array("banana", "strawberry", "mango"),
array("grape", "orange")
);
$needle = "banana";
// 遍曆數組
foreach ($arr as $key => $value) {
// 搜索元素是否存在於數組中
if (array_search($needle, $value)) {
echo "元素 $needle 存在於數組位置:$key," . array_search($needle, $value) . "
";
}
}
執行上述代碼可以得到以下輸出結果:
元素 banana 存在於數組位置:0,2
元素 banana 存在於數組位置:1,0
結束語
本文對 PHP 二維數組進行了基本操作指南,包括定義、遍歷、排序、過濾以及搜索。希望本文的內容能夠幫助到 PHP 工程師們更好地掌握二維數組。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/227708.html
微信掃一掃
支付寶掃一掃