X

PHP explode 切割字串 快速取得最後一個值

PHP 切割字串常常使用 explode (以前都使用 split),如果已經確定要取最後的值,或者某個值,要怎麼快速做到呢?

PHP explode 切割字串 快速取得最後一個值

以往常見的寫法,都會是先計算陣列大小,然後直接抓最後一個值,如下範例:

<?php
$tmp = explode(',', '1,2,3');
$last = $tmp[count($tmp) - 1];
echo $last;
?>

不過既然是陣列,還有下述兩種作法可以參考看看:

取得最後一個值

<?php
$last = end(explode(',', '1,2,3'));
echo $last;
?>
<?php
$last = array_pop(explode(',', '1,2,3'));
echo $last;
?>

依照上述程式直接跑速度測試,各跑 10000000 所耗費的秒數:

  • count spend: 6.0898230075836 secs
  • end spend: 8.9361491203308 secs
  • array_pop spend: 9.2295389175415 secs

但是若將 end、array_pop 不要直接使用,而是用 $tmp 接收,再來 end、array_pop 所耗費的時間如下:

  • count spend: 5.5644431114197 secs
  • end spend: 4.5907559394836 secs
  • array_pop spend: 5.0118000507355 secs

註:時間越短越好

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post