相关疑难解决方法(0)

使用PHP释放内存有什么好处:unset()或$ var = null

我意识到第二个避免了函数调用的开销(更新,实际上是一种语言结构),但知道一个是否比另一个更好会很有趣.我一直在使用unset()我的大部分编码,但我最近查看了一些在网上发现的可敬的类,$var = null而不是使用它.

有没有首选,是什么原因?

php

236
推荐指数
8
解决办法
17万
查看次数

如何在PHP中立即执行匿名函数?

在JavaScript中,您可以定义立即执行的匿名函数:

(function () { /* do something */ })()
Run Code Online (Sandbox Code Playgroud)

你能在PHP中做那样的事情吗?

javascript php function

94
推荐指数
5
解决办法
2万
查看次数

在Javascript中更有效,删除元素或将其设置为未明确定义

假设我有一个关联数组Foo,键值和值xyz.

 console.log(Foo['bar']);

 >> xyz

 delete Foo['bar'];
 console.log Foo['bar'];

 >> undefined

 Foo['bar'] = 'xyz';
 console.log(Foo['bar']);

 >> xyz

 Foo['bar'] = undefined;
 console.log (Foo['bar']);

 >> undefined
Run Code Online (Sandbox Code Playgroud)

我的问题是,两者中哪一个更有效率,它们有何不同?有什么情况我应该使用一个而不是另一个?

谢谢!

结果:

感谢大家帮忙并向我展示jsperf.将其设置为undefined似乎(相对)明显快于删除,尽管下面指出的所有注意事项也非常有趣(事实上,我可能会使用删除很多,以避免将来的左边错误).

javascript

13
推荐指数
5
解决办法
4321
查看次数

unset vs. = NULL

可能重复:
使用PHP释放内存有什么好处:unset()或$ var = null

这个问题是对使用PHP释放内存有什么好处的后续问题:unset()或$ var = null

长话短说,我自己的基准似乎与该问题中给出的答案相矛盾.我的问题是......为什么?答案是错的还是有些东西我只是不理解?

<?php
$start = microtime(true);
for ($i = 0; $i < 10000000; $i++) {
    $a = 'a';
    $a = NULL;
}
$elapsed = microtime(true) - $start;

echo "took $elapsed seconds\r\n";



$start = microtime(true);
for ($i = 0; $i < 10000000; $i++) {
    $a = 'a';
    unset($a);
}
$elapsed = microtime(true) - $start;

echo "took $elapsed seconds\r\n";
?>
Run Code Online (Sandbox Code Playgroud)

看来,"= null"似乎更快.

PHP 5.4结果:

  • 花了0.88389301300049秒
  • 花了2.1757180690765秒

PHP 5.3结果:

  • 花了1.7235369682312秒
  • 花了2.9490959644318秒

PHP …

php

7
推荐指数
1
解决办法
3105
查看次数

如何销毁 Codeigniter 库实例

我想知道是否有任何方法可以销毁 Codeigniter 库实例。

我想做的是这样的:

$this->load->library('my_library');
/**
    Code goes here
**/
$this->my_library->destoy_instance();
Run Code Online (Sandbox Code Playgroud)

我需要这样做的原因是因为我需要在执行大型脚本时释放 RAM 内存。

任何帮助将不胜感激。

php codeigniter instance destroy

3
推荐指数
2
解决办法
9247
查看次数

标签 统计

php ×4

javascript ×2

codeigniter ×1

destroy ×1

function ×1

instance ×1