PHP 顯示陣列值

Sheeraz Gul 2023年1月30日 2022年5月13日
  1. 在 PHP 中使用 foreach 迴圈顯示陣列值
  2. 在 PHP 中使用 print_r()var_dump() 顯示陣列的資訊
  3. 在 PHP 中使用 implode()json_encode() 將陣列轉換為字串
  4. 在 PHP 中使用 foreach 迴圈和 array_map() 函式顯示多維陣列的值
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 "<br>The values for first array using var_dump: <br>";
var_dump($demo_array1);
echo "<br>The values for associative array using print_r: <br>";
print_r($demo_array2);
echo "<br>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() 引數中設定一個函式。

Author: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

相關文章 - PHP Array