相关疑难解决方法(0)

如何使用PHP检查数组是否为空?

players将为空或以逗号分隔的列表(或单个值).检查它是否为空的最简单方法是什么?我假设我可以在将$gameresult数组取入后立即执行此操作$gamerow?在这种情况下,跳过爆炸它可能更有效,$playerlist如果它是空的,但为了参数,我如何检查数组是否也是空的?

$gamerow = mysql_fetch_array($gameresult);
$playerlist = explode(",", $gamerow['players']);
Run Code Online (Sandbox Code Playgroud)

php arrays

431
推荐指数
12
解决办法
78万
查看次数

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万
查看次数

检查空数组:count vs empty

关于' 如何判断PHP数组是否为空 '的这个问题让我想到了这个问题

是否有理由count应该使用而不是empty在确定数组是否为空时?

我个人的想法是,如果2应该使用空数组的情况是等价的,empty因为它给出了布尔问题的布尔答案.从上面链接的问题来看,这似乎count($var) == 0是流行的方法.对我而言,虽然技术上正确,但毫无意义.例如Q:$ var,你是空的吗?答:7.嗯...

有没有理由我应该使用count == 0或仅仅是个人品味的问题?

正如其他人在对现在删除的答案的评论中指出的那样,count对大型数组会有性能影响,因为它必须计算所有元素,而empty一旦知道它不为空就可以停止.那么,如果他们在这种情况下给出相同的结果,但count可能效率低下,为什么我们会使用count($var) == 0

php arrays performance standards semantics

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

PHP:函数'count'的复杂性[即O(1),O(n)]是多少?

count()数组函数的Big-O时间复杂度是多少?

$x = array(1,2,3);
echo count($x); // how many operation does it takes to count the elements 
                // of the array? is it 3, or is it 1
Run Code Online (Sandbox Code Playgroud)

php

14
推荐指数
2
解决办法
3072
查看次数

PHP中的FOR循环性能

正如我的研究让我相信for循环是PHP中最快的迭代构造...为了使它更清晰,你认为下面的哪一个会更快?

例子一

for ($i = 0; $i < count($myLargeArray); $i++ ) {
    echo myLargeArray[$i];
}
Run Code Online (Sandbox Code Playgroud)

例子二

$count = count($myLargeArray);
for ($i = 0; $i < $count; $i++ ) {
    echo myLargeArray[$i];
}
Run Code Online (Sandbox Code Playgroud)

我的逻辑是,在每个迭代中,在每个迭代中,在每次迭代中访问myLargeArray的长度比在示例2中访问简单的整数值计算成本更高.那是对的吗?

php performance loops for-loop

12
推荐指数
1
解决办法
8162
查看次数

Swift 的 String.count 的主要内容是什么?

当 swift 使用String.count它时:

O(n)每次我们调用它时,我们都会遍历整个 String 以对其进行计数

或者

O(1)其中 swift 之前存储了这个数组的大小并简单地访问它。

arrays big-o swift

6
推荐指数
1
解决办法
1337
查看次数

Foreach键 - 可以在没有"if(key <wheretoseek){continue;}"的情况下向前搜索?

想象一个简单但大型的数组,键0到100000.

当做这个数组的foreach循环时,是否可以在执行以下操作的情况下"寻找" :

foreach($array as $key=>$value){
    if($key<10000){
         continue;
    }
}
Run Code Online (Sandbox Code Playgroud)

我们偶尔通过我们的代码库进行这种操作.通过每个键,它会有点浪费滴答声,直到键大于10000.

这可能在PHP 5.4中?

谢谢.

php arrays foreach seek

0
推荐指数
1
解决办法
402
查看次数

标签 统计

php ×6

arrays ×5

performance ×3

big-o ×2

algorithm ×1

for-loop ×1

foreach ×1

loops ×1

seek ×1

semantics ×1

standards ×1

swift ×1