0

我需要找到字符串中有多少个数字的最佳方法,我是否必须先删除除数字之外的所有内容,然后再删除 strlen?

另外,我将如何测试我编写的任何 PHP 脚本的性能,比如在某些条件下的速度和性能?

更新

说我必须包含 ½ 个半数,那么它肯定是 preg 不是吗?

4

1 回答 1

2

您可以使用 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

于 2009-10-06T15:27:57.920 回答