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

PHP substr() 與 explode() 字串截取分割函數用法解析

     編輯:PHP 綜合知識

substr():字串截取

string substr(string $string, int $start [, int $length ])
  • $start ≥ 0:從開頭第 $start 個字元開始 (0 索引)
  • $start < 0:從結尾往前第 |$start| 個字元開始
  • $length > 0:最大回傳長度
  • $length < 0:從結尾往前排除 |$length| 個字元
<?php
echo substr("abcdef", 1, 3);    // "bcd"
echo substr("abcdef", -2);      // "ef"
echo substr("abcdef", -3, 1);   // "d"
echo substr("abcdef", 1, -1);   // "bcde"

explode():字串分割為陣列

array explode(string $separator, string $string [, int $limit ])
  • $separator:分隔符
  • $limit > 0:最多回傳 $limit 個元素,最後元素包含剩餘字串
  • $limit < 0:回傳除最後 |$limit| 個元素外的所有元素
  • $limit = 0:視同 1
<?php
$str = "abc|bck|fhq|nui";
print_r(explode("|", $str));
/* 輸出:
Array (
    [0] => abc
    [1] => bck
    [2] => fhq
    [3] => nui
)
*/

實戰組合:解析日期時間字串

<?php
$date = "2006-10-12 16:50:49";
// 使用 split (已棄用) 或 preg_split
list($year, $month, $day, $hour, $minute, $second) = preg_split('/[-: ]/', $date);
echo "北京時間:{$year}年{$month}月{$day}日{$hour}時{$minute}分{$second}秒";
// 輸出:北京時間:2006年10月12日16時50分49秒

現代化建議

  • split()、ereg() 等 POSIX 正則函數已移除 (PHP 7+),改用 preg_split()、preg_match()
  • 固定格式日期解析優先用 DateTime::createFromFormat()
  • CSV 解析用 str_getcsv() 而非 explode() (可處理引號逸出)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved