PHP 想要將字串中的數字抽出來,要怎麼做呢?
PHP 從 字串 抽出 數字 的程式寫法
以往最常用的方式都是用 pregmatch()、pregreplace()、intval() ... 等等,這次發現 filter_var() 更好用。
preg_match() 的範例
- preg_match('/([0-9])/', 'xxx 120 ooo', $m); // $m[1] = 120
preg_replace() 的範例
- preg_replace('/\D/', '', 'xxx 120 ooo'); // 120
- preg_replace('/\D/', '', 'xxx 1,20 ooo'); // 120
intval() 的範例
- intval('abc123'); // 0
- intval('123abc'); // 123
- 註:數字在前面的就不能用 intval()
filter_var() 的範例
- echo filter_var('xxx 120 ooo', FILTERSANITIZENUMBERINT); // 120
- echo filter_var('1,23', FILTERSANITIZENUMBERINT); // 123