首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 陣列鍵值列印技巧:foreach 進階用法

     編輯:PHP 相關知識

問題背景

從 Perl 轉 PHP 的開發者常習慣用 $. 取得行號,但在 PHP 中 foreach 預設只取值。如何同時取得索引(鍵值)?

核心解法:foreach 的第二種語法

$arr = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];

// 錯誤:只取值,無索引
foreach ($arr as $value) {
    echo $value . '
'; } // 正確:同時取得 $key(索引)與 $value foreach ($arr as $key => $value) { echo "索引 $key => 值 $value
"; }

實際輸出結果

索引 0 => 值 10
索引 1 => 值 20
索引 2 => 值 30
索引 3 => 值 40
索引 4 => 值 50
索引 5 => 值 60
索引 6 => 值 70
索引 7 => 值 80
索引 8 => 值 90
索引 9 => 值 100

關鍵字語法說明

$key => $value 中的 => 是 PHP 陣列定義與 foreach 專用的鍵值分隔符號,不是 大於等於運算子。

延伸應用:關聯陣列

$user = [
    'id' => 1001,
    'name' => 'Alice',
    'email' => 'alice@example.com',
    'role' => 'admin'
];

foreach ($user as $field => $val) {
    echo "$field: $val
"; }
id: 1001
name: Alice
email: alice@example.com
role: admin

補充:取得連續編號(從 1 開始)

foreach ($arr as $index => $value) {
    $lineNo = $index + 1;
    echo "$lineNo. $value
"; }

小結

  • foreach ($arr as $v) — 僅需值時使用
  • foreach ($arr as $k => $v) — 需要索引/鍵名時使用
  • 索引型陣列 $k 為整數(0 起);關聯陣列 $k 為字串
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved