小编xda*_*azz的帖子

PHP需要__destruct方法吗?

手册说

一旦删除了对特定对象的所有引用,或者在关闭序列中显式销毁对象或以任何顺序,就会调用析构函数方法.

PHP GC不够用吗?有人可以举例说__destruct方法是必要的吗?

php garbage-collection destructor

9
推荐指数
1
解决办法
3791
查看次数

php foreach,为什么使用数组引用传递速度快?

下面是对一个大数组的php foreach循环的测试,我认为如果$v不改变,真正的副本不会因为写入时副本而发生,但为什么它通过引用传递时速度快?

代码1:

function test1($a){
  $c = 0;
  foreach($a as $v){ if($v=='xxxxx') ++$c; }
}

function test2(&$a){
  $c = 0;
  foreach($a as $v){ if($v=='xxxxx') ++$c; }
}

$x = array_fill(0, 100000, 'xxxxx');

$begin = microtime(true);
test1($x);
$end1 = microtime(true);
test2($x);
$end2 = microtime(true);

echo $end1 - $begin . "\n";   //0.03320002555847
echo $end2 - $end1;           //0.02147388458252
Run Code Online (Sandbox Code Playgroud)

但这一次,使用pass by reference很慢.

代码2:

function test1($a){
  $cnt = count($a); $c = 0;
  for($i=0; $i<$cnt; ++$i)
    if($a[$i]=='xxxxx') ++$c;
}
function …
Run Code Online (Sandbox Code Playgroud)

php arrays foreach

8
推荐指数
1
解决办法
3972
查看次数

Javascript"this"参考onclick事件无法正常工作

我正试图用"onclick"事件调用一个函数,如下所示:

<td id="A1" onclick="move()" class="white"></td>
<td id="A2" onclick="move()" class="painted bp"></td>
<td id="A3" onclick="move()" class="white"></td>
Run Code Online (Sandbox Code Playgroud)

在函数本身,我指的是"这个":

function move(e){
    var myId = this.id;
    alert("myId");
}
Run Code Online (Sandbox Code Playgroud)

当我运行整个事情时,警报说"未定义".当我尝试时,alert(this)我得到[对象窗口].我正在使用IE9,顺便说一句.谢谢

javascript this

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

ORA-01843:不是有效月份:TO_DATE('12 -JUN-02','DD-MON-YY')

我在插入过程中遇到了问题.这是问题所在:

INSERT INTO SALES_ORDER_A4 (ORDERNO , CLIENTNO , ORDERDATE , DELYADDR , SALESMANNO , DELYTYPE , BILLYN , DELYDATE, ORDERSTATUS)
SELECT 'O19008' ,
       'C00005' ,
       to_date('24-MAY-02','DD-MON-YY'),
       'Delhi' ,
       'S00004' ,
       'F' ,
       'N' ,
       to_date('26-MAY-02','DD-MON-YY') ,
       'In Process'
FROM DUAL
UNION ALL
SELECT 'O19001' ,
       'C00001' ,
       to_date('12-JUN-02','DD-MON-YY') ,
       'Delhi' ,
       'S00001' ,
       'F' ,
       'N' ,
       to_date('20-JUN-02','DD-MON-YY') ,
       'In Process'
FROM DUAL
UNION ALL
SELECT 'O19002' ,
       'C00002' ,
       to_date('25-JUN-02','DD-MON-YY'),
       'Delhi' ,
       'S00002' ,
       'P' ,
       'N' ,
       to_date('27-JUL-02','DD-MON-YY') …
Run Code Online (Sandbox Code Playgroud)

sql oracle

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

PHP连接两个变量名

我有一个PHP脚本,可以$_POST决定返回哪个数组.例如:

$n = $_POST['n']; // 1, 2 or 3

$a1 = array ('something', 'something else', 'another thing');

$a2 = array ('something 2', 'something else 2', 'another thing 2');

$a3 = array ('something 3', 'something else 3', 'another thing 3');
Run Code Online (Sandbox Code Playgroud)

现在我想得到与该$n值对应的数组,比方说"2".

我怎么能说echo $a . $n得到$a2

谢谢.

php variables dynamic-variables

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

从多个到多个db关系中获取数据

我有一个表保存用户评论,我想检索每个用户发表的最后一条评论.

下面的查询应该让我知道我想要做什么

select comment, comment_id, userId FROM comments_table 
WHERE comment_id in (
   SELECT MAX(comment_id)
   FROM comments_table where userId in (2001, 2002, 2010)
   GROUP BY userId
)
Run Code Online (Sandbox Code Playgroud)

以上查询有效,但需要太长时间,特别是如果有很多userIds.

我需要一个更快的查询语句来完成同样的事情.

mysql

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

Javascript OOP - 在异步回调中丢失了这个

我有问题仍然困扰我js oop - 我确定我做得不好,但我不能得到如何正确做到这一点.

例如,我有这个代码

Auth.prototype.auth = function () {
    var request = new XMLHttpRequest();

    request.open('GET', this.getAuthServerURL() + '/token', true);
    request.send();

    request.onloadend = function () {
      var response = JSON.parse(request.responseText);

      console.log(response);
      if(response.result == 'found') {
        var token = response.token;

        this.setToken(token);
        this.isSigned = true;
      } else {
        console.log('Not logged yet.');
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是我无法从"request.onloadend"函数的上下文访问函数setToken - 这可能是因为我丢失了对"this"的引用.

这是什么问题的解决方案?我可以以某种方式将"this"var传递给此函数的上下文吗?

谢谢!

javascript oop prototype callback this

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

显示两个或多个指定值的行数

我有下表:

n1|n2|n3|n4|n5
 1| 5| 4| 7|26
26|80|75| 1|10
 5| 3| 2| 1|4
45|26| 1| 3|66
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取出现两个或更多指定值的行数.例如,在上表中,26和1出现在3行中.

有没有一种快速的方法在mySQL中执行此操作,还是应该在PHP中构建一些函数?

非常感谢您的帮助

mysql sql

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

Perl的.Regexp只工作一次

我需要使用regexp处理字符串,如果是数字则更改x-> y.

字符串:2x2x2 2x 2x2x 2x2x2x2x2

正则表达式:s/([0-9])x([0-9])/$1y$2/g

my $string = "2x2x2 2x 2x2x 2x2x2x2x2";

$string =~ s/([0-9])x([0-9])/$1y$2/g;

print "$string\n";
Run Code Online (Sandbox Code Playgroud)

我预计: 2y2y2 xx 2x 2y2x 2y2y2y2y2

但结果是:( 2y2x2 2x 2y2x 2y2x2y2x2并非所有2x2都改变了)

我该怎么办?

regex perl

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

Ruby函数作为hash的值

我想知道是否或如何将函数映射到散列值.

例如:---- Start Class ------------

def foo(var)
    return var + 2
end

hash_var = { func => foo() }
Run Code Online (Sandbox Code Playgroud)

----结束班--------------

所以我以后可以打电话

Class::hash_var["func"][10]
Run Code Online (Sandbox Code Playgroud)

要么

Class::hash_var["func"](10)
Run Code Online (Sandbox Code Playgroud)

这将返回12?

ruby function

6
推荐指数
2
解决办法
905
查看次数