Php 使用1个或多个项初始化数组的最佳方法
我将变量的值设置为数组 根据某些条件,我必须初始化Php 使用1个或多个项初始化数组的最佳方法,php,Php,我将变量的值设置为数组 根据某些条件,我必须初始化 array('a', 'b'); 或 那么最好的方法是什么呢 我们应该写信吗 $a = array('a', 'b'); if($b > 0) { $a[] = 'c'? } 或 首先,我们应该定义什么是“最好的”。对我来说最好的是: 执行速度快 以“正确”的方式完成 容易阅读 与执行速度相比,两者几乎相同(我用1mil迭代做了一个快速测试),所以这里没有明显的赢家 这两个示例都很容易阅读,但是我将坚持使用第一个示例,因
array('a', 'b');
或
那么最好的方法是什么呢
我们应该写信吗
$a = array('a', 'b');
if($b > 0) {
$a[] = 'c'?
}
或
首先,我们应该定义什么是“最好的”。对我来说最好的是:
$b=1;
$t=微时间(真);
$a=数组('a','b');
如果($b>0){
$a[]='c';
}
printf(“%f\n”,微时间(真)-$t);
$t=微时间(真);
如果($b>0){
$a=数组('a','b','c');
}否则{
$a=数组('a','b');
$a[]='c';
}
printf(“%f\n”,微时间(真)-$t);
输出:
0.000017
0.000003
在国际海事组织,第一种选择是最好的,因为它遵循干涸和分而治之的原则
这表明第一种方法平均只慢13.5%。请不要这样基准测试,因为它非常不一致。第一种方法是
3.7593920230865
,第二种方法是1.9740960597992
。这样做,可以确保以分布式方式使用CPU周期,而不是不要在CPU更忙的时候运行第一个或第二个实验,而在CPU空闲的时候运行另一个实验。@mspasov:否则,你应该尽可能多地运行迭代,以获得一致的平均值。谢谢你的基准测试。我也更喜欢第一个varianat,它确实更干燥。
if($b > 0) {
$a = array('a', 'b', 'c');
} else {
$a = array('a', 'b');
}
0.000017
0.000003