相关疑难解决方法(0)

PHP函数的Big-O列表

在使用PHP一段时间后,我注意到并非所有PHP内置函数都如预期的那样快.考虑下面两个可能的函数实现,它使用缓存的素数数组来查找数字是否为素数.

//very slow for large $prime_array
$prime_array = array( 2, 3, 5, 7, 11, 13, .... 104729, ... );
$result_array = array();
foreach( $prime_array => $number ) {
    $result_array[$number] = in_array( $number, $large_prime_array );
}

//speed is much less dependent on size of $prime_array, and runs much faster.
$prime_array => array( 2 => NULL, 3 => NULL, 5 => NULL, 7 => NULL,
                       11 => NULL, 13 => NULL, .... 104729 => NULL, ... );
foreach( $prime_array => $number ) …
Run Code Online (Sandbox Code Playgroud)

php arrays algorithm performance big-o

332
推荐指数
3
解决办法
7万
查看次数

什么是更快更好地确定PHP中是否存在数组键?

考虑这两个例子......

$key = 'jim';

// example 1
if (isset($array[$key])) {
    // ...
}

// example 2    
if (array_key_exists($key, $array)) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我很想知道其中任何一个是否更好.我一直使用第一个,但看到很多人在这个网站上使用第二个例子.

那么哪个更好?快点?更明确的意图?

php performance

147
推荐指数
6
解决办法
7万
查看次数

标签 统计

performance ×2

php ×2

algorithm ×1

arrays ×1

big-o ×1