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

PHP 實用函數詳解:range()、round()、list()

     編輯:PHP 相關知識

range() — 快速生成數值/字母序列數組

語法: array range(int|string $start, int|string $end, int|float $step = 1)

  • 支援整數、浮點數、字符(單字母)
  • $step 為步長(正數)

常見用法

// 1~10 整數
$numbers = range(1, 10);        // [1,2,3,4,5,6,7,8,9,10]

// 0~20 偶數(步長 2)
$evens = range(0, 20, 2);       // [0,2,4,6,8,10,12,14,16,18,20]

// 字母 A~Z
$letters = range('A', 'Z');     // ['A','B',...,'Z']

// 字母 a~z
$lower = range('a', 'z');

// 生成驗證碼字符池
$pool = array_merge(range('A','Z'), range('a','z'), range(0,9));
shuffle($pool);
$captcha = implode('', array_slice($pool, 0, 6));

round() — 浮點數四捨五入/指定精度

語法: float round(float $num, int $precision = 0, int $mode = PHP_ROUND_HALF_UP)

  • $precision:小數位數(可為負數,表示十位、百位…)
  • $mode:PHP_ROUND_HALF_UP(預設)、PHP_ROUND_HALF_DOWN、PHP_ROUND_HALF_EVEN、PHP_ROUND_HALF_ODD

示例

$pi = 3.1415926535;

echo round($pi, 4);    // 3.1416  (四捨五入)
echo round($pi, 2);    // 3.14
echo round(3.5);       // 4
echo round(2.5);       // 3 (PHP_ROUND_HALF_UP)
echo round(2.5, 0, PHP_ROUND_HALF_EVEN); // 2 (銀行家捨入)
echo round(12345, -2); // 12300 (精度 -2 保留百位)

list() — 從數組一次性賦值給多個變量

語法: list(mixed ...$vars): array(PHP 7.1+ 支援鍵名)

  • 僅適用於數值索引數組(0,1,2…),關聯數組需先 array_values()
  • 可用 list($a, , $c) = $arr 跳過某些元素

基本用法

$info = ['coffee', 'brown', 'caffeine'];

list($drink, $color, $power) = $info;
echo "$drink is $color and $power makes it special.";
// coffee is brown and caffeine makes it special.

// 跳過中間值
list($drink, , $power) = $info;
echo "$drink has $power."; // coffee has caffeine.

// 只取第三個
list(, , $power) = $info;
echo "I need $power!"; // I need caffeine!

進階:配合 explode() 解析字符串

$line = "John|Developer|Blue";
list($name, $job, $color) = explode('|', $line);
// $name='John', $job='Developer', $color='Blue'

// CSV 行解析
while (($row = fgetcsv($fp)) !== false) {
    list($id, $username, $email) = $row;
    // ...
}

PHP 7.1+ 解構賦值(更推薦)

[$a, $b, $c] = [1, 2, 3];          // 短語法
['name' => $name, 'age' => $age] = ['name' => 'Tom', 'age' => 20]; // 鍵名匹配

總結對比

函數用途典型場景
range()生成等差序列數組下拉選單年份、驗證碼字符池、分頁頁碼
round()浮點數精度控制價格計算、統計報表、坐標縮放
list()數組解構賦值CSV 解析、explode 分割、多返回值接收

善用這三個函數能讓代碼更簡潔、可讀性更強。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved