HOWTO · PHP
PHP 顯示陣列值
本教程演示如何使用 PHP 中的不同方法顯示陣列的值。
本頁內容
本文將介紹如何在 PHP 中顯示陣列值。
foreach 迴圈可用於顯示每個值。print_r() 或 var_dump 等內建函式可以轉儲陣列的所有資訊。
我們還可以將陣列轉換為字串以顯示值。
在 PHP 中使用 foreach 迴圈顯示陣列值
foreach 迴圈可以回顯陣列的每個值。由於關聯陣列同時具有鍵和值,因此我們將兩者都顯示。
<?php
//Simple one dimensional array
$demo_array1 = array('Jack', 'Shawn', 'Michelle', 'Maria');
//associative array
$demo_array2 = array(1 => 'Jack', 2 => 'Shawn', 3 => 'Michelle', 4 => 'Maria');
echo "The values for first array are: <br>";
foreach($demo_array1 as $value){
echo $value."<br>";
}
echo "The values for associative array: <br>";
foreach($demo_array2 as $key => $value){
echo "The Key <b>". $key."</b> has the value <b>".$value."</b><br>" ;
}
?>
輸出:
The values for first array are:
Jack
Shawn
Michelle
Maria
The values for associative array:
The Key **1** has the value **Jack**
The Key **2** has the value **Shawn**
The Key **3** has the value **Michelle**
The Key **4** has the value **Maria**
在 PHP 中使用 print_r() 和 var_dump() 顯示陣列的資訊
內建函式 print_r() 和 var_dump() 用於轉儲 PHP 中的陣列資訊。
<?php
//Simple one dimensional array
$demo_array1 = array('Jack', 'Shawn', 'Michelle', 'Maria');
//associative array
$demo_array2 = array('Name1' => 'Jack', 'Name2' => 'Shawn', 'Name3' => 'Michelle', 'Name4' => 'Maria');
echo "The values for first array using print_r: <br>";
print_r($demo_array1);
echo "The values for first array using var_dump: <br>";
var_dump($demo_array1);
echo "The values for associative array using print_r: <br>";
print_r($demo_array2);
echo "The values for associative array using var_dump: <br>";
var_dump($demo_array2);
?>
輸出:
The values for first array using print_r:
Array ( [0] => Jack [1] => Shawn [2] => Michelle [3] => Maria )
The values for first array using var_dump:
array(4) { [0]=> string(4) "Jack" [1]=> string(5) "Shawn" [2]=> string(8) "Michelle" [3]=> string(5) "Maria" }
The values for associative array using print_r:
Array ( [Name1] => Jack [Name2] => Shawn [Name3] => Michelle [Name4] => Maria )
The values for associative array using var_dump:
array(4) { ["Name1"]=> string(4) "Jack" ["Name2"]=> string(5) "Shawn" ["Name3"]=> string(8) "Michelle" ["Name4"]=> string(5) "Maria" }
print_r 將只顯示陣列的鍵值。但是,var_dump 將顯示陣列長度、值長度、鍵和值。
在 PHP 中使用 implode() 或 json_encode() 將陣列轉換為字串
內建函式 implode() 或 json_encode() 可用於將陣列轉換為字串以顯示值。
<?php
//Simple one dimensional array
$demo_array1 = array('Jack', 'Shawn', 'Michelle', 'Maria');
//associative array
$demo_array2 = array('Name1' => 'Jack', 'Name2' => 'Shawn', 'Name3' => 'Michelle', 'Name4' => 'Maria');
echo "The values for first array using implode: <br>";
$implode_string=implode(",",$demo_array1);
echo $implode_string."<br>";
$implode_string1=implode(",",$demo_array2);
echo $implode_string1."<br>";
echo "The values for associative array using json_encode: <br>";
$json_string=json_encode($demo_array1);
echo $json_string."<br>";
$json_string1=json_encode($demo_array2);
echo $json_string1."<br>";
?>
輸出:
The values for the first array using implode:
Jack,Shawn,Michelle,Maria
Jack,Shawn,Michelle,Maria
The values for associative array using json_encode:
["Jack","Shawn","Michelle","Maria"]
{"Name1":"Jack","Name2":"Shawn","Name3":"Michelle","Name4":"Maria"}
正如我們所見,implode() 不顯示關聯陣列的鍵,但 json_encode() 也顯示關聯陣列的鍵。
在 PHP 中使用 foreach 迴圈和 array_map() 函式顯示多維陣列的值
我們將使用 foreach 迴圈或 array_map 內建函式將值顯示為二維陣列的列表。
<?php
$demo_array = Array (
0 => Array ( "Name" => "Jack" , "Salary" => 4000 ) ,
1 => Array ( "Name" => "Mike" , "Salary" => 3500 ) ,
2 => Array ( "Name" => "Tina" , "Salary" => 3000 ) );
//Using foreach loop
echo "<pre>";
echo "Name\tSalary";
foreach ( $demo_array as $value ) {
echo "\n", $value['Name'], "\t", $value['Salary'];
}
//Using array_map() function
echo "<pre>" ;
echo "Name\tSalary";
array_map(function ($value) {
echo "\n", $value['Name'], "\t", $value['Salary'];
}, $demo_array);
?>
上面的程式碼將顯示帶有薪水的姓名列表。
輸出:
Name Salary
Jack 4000
Mike 3500
Tina 3000
Name Salary
Jack 4000
Mike 3500
Tina 3000
同樣,我們可以為具有更多層的多維陣列設定多個 foreach 迴圈,或者在 array_map() 引數中設定一個函式。