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

PHP 陣列與 explode() 字串分割實戰範例總結

     編輯:PHP 綜合知識

陣列基礎操作範例

<?php
$province = ["北京","上海","天津","重慶","河北","山西","內蒙古","遼寧","吉林","黑龍江",
             "江蘇","浙江","安徽","福建","江西","山東","河南","湖北","湖南","廣東",
             "廣西","海南","四川","貴州","雲南","西藏","陝西","甘肅","寧夏","青海",
             "新疆","香港","澳門","台灣","其他"];

echo count($province); // 34
echo is_array($province) ? "是陣列" : "非陣列";

for ($i=0; $i

explode() 字串分割成陣列

<?php
$source = "hello1,hello2,hello3,hello4,hello5";
$hello = explode(',', $source);
// ["hello1","hello2","hello3","hello4","hello5"]

foreach ($hello as $item) {
    echo $item . "<br>";
}
?>

list() 配合 split() 解構日期字串(舊式)

<?php
$date = "04/30/1973";
// split() 已棄用 (PHP 5.3) / 移除 (PHP 7.0),請改用 preg_split 或 explode
list($month, $day, $year) = preg_split('/[\/.-]/', $date);
echo "Month: $month; Day: $day; Year: $year"; // 04; 30; 1973
?>

現代最佳實踐建議

  1. 遍歷陣列:優先 foreach ($arr as $v) 或 foreach ($arr as $k => $v),語意清晰且效能最佳。
  2. 字串分割:單字元分隔符用 explode();多字元/正則用 preg_split();split()、ereg() 已移除。
  3. 計數快取:for ($i=0, $n=count($arr); $i<$n; $i++) 避免重複呼叫 count()(PHP 7+ 已優化,但習慣仍建議)。
  4. 陣列解構:PHP 7.1+ 支援 [$a, $b, $c] = $arr; 短語法,取代 list()。

效能對比(5萬元素陣列遍歷)

foreach:  0.0086 秒  ← 最快(內部引擎優化)
for:      0.0228 秒
while+each: 0.0545 秒  ← 最慢(each() 移動內部指標)

結論:foreach 又快又簡潔,首選無疑。

結語

explode() + foreach 是 PHP 處理「字串→陣列→遍歷」的黃金組合。棄用 split(),擁抱 preg_split() 與短陣列語法,寫出現代、高效、可維護的代碼。

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