我需要找到字符串中有多少个数字的最佳方法,我是否必须先删除除数字之外的所有内容,然后再删除 strlen?
另外,我将如何测试我编写的任何 PHP 脚本的性能,比如在某些条件下的速度和性能?
更新
说我必须包含 ½ 个半数,那么它肯定是 preg 不是吗?
我需要找到字符串中有多少个数字的最佳方法,我是否必须先删除除数字之外的所有内容,然后再删除 strlen?
另外,我将如何测试我编写的任何 PHP 脚本的性能,比如在某些条件下的速度和性能?
更新
说我必须包含 ½ 个半数,那么它肯定是 preg 不是吗?
您可以使用 preg_split() 拆分字符串并计算部分:
$digits = count(preg_split("/\d/", $str))-1;
$numbers = count(preg_split("/\d+/", $str))-1;
为了提高性能,您可以使用 microtime()。
例如:
对于执行时间:
$start = microtime(true);
// do stuff
$end = microtime(true)-$start;
对于内存使用:
$start = memory_get_usage(true);
// do stuff
$end = memory_get_usage(true) - $start;
http://us.php.net/manual/en/function.memory-get-usage.php
对于峰值内存:
memory_get_peak_usage(true);
http://us.php.net/manual/en/function.memory-get-peak-usage.php
还有一些特定的 PHP 分析工具,如 XDebug。有一个很好的关于在 Eclipse 中使用它的教程:http: //devzone.zend.com/article/2930
PEAR 中也有基准测试:http: //pear.php.net/package/Benchmark/docs/latest/Benchmark/Benchmark_Profiler.html
以及其他列表:http: //onwebdevelopment.blogspot.com/2008/06/php-code-performance-profiling-on.html