如无特别说明,以下题目均可用各种技术方案来解答。

Posted by & filed under 每日一题.

【四脚猫】每日一题(2015年04月01日):神奇的 @ 符号,你这样用过吗?
代码如下:

1
2
3
<?php

echo @;

我们知道 @ 符号用来屏蔽错误的, 但是你输出过 @ 的值吗?
如上代码执行完毕,居然打印出当前的系统时间,这个功能是不是很神奇?

参考答案:
不好意思,祝大家愚人节快乐!
PHP的@ 目前是没这个神奇的功能的 :)

Posted by & filed under 每日一题.

【四脚猫】每日一题(2015年03月30日): 有8个球,大小一模一样,其中有一个重量不一样, 请你用天平称, 找出那个不一样的球,你怎么称呢? 看谁称的次数最少 。

先假设这个球比其他球重一点,那么把先取出6个球放到天平两端,如果平衡,就比较剩下的两个球。这样总共需要2次找出最重的;如果不平衡,那么把重的那一边的3个球中拿出2个来放到天平两端,这样也只需要2次就能找出最重的。

倘若这个球比其他球轻一点,同样用上述方法,可以两次就得出结果。

Posted by & filed under 每日一题.

【四脚猫】每日一题(2015年03月27日): 用户的输入和提交的数据是不可预料的,比方说如下的提交:

1
2
3
$unsafe_variable = $_POST['user_input'];

mysql_query("INSERT INTO <code>table</code> (<code>column</code>) VALUES ('$unsafe_variable')");

当我们用户的提交为如下字符串:

1
value'); DROP TABLE table;--,

那么实际上执行的SQL就如下:

1
INSERT INTO <code>table</code> (<code>column</code>) VALUES('value'); DROP TABLE table;--')

有什么办法可以防止这种恶意的提交请求呢?

提示: 从PHP 5.5.0开始, mysql_real_escape_string 已废弃,并在将来会被移除。

Posted by & filed under 每日一题.

【四脚猫】每日一题(2015年03月24日):编写一个PHP函数将字符串
(A*2+B*3)*4 + C*5 + D*6 变成 array(‘A’=>8,’B’=>12,’C’=>5,’D’=>6) 的形式 。

(A*8-B*3)/2 + D*6 变成 array(‘A’=>4,’B’=>-1.5,’D’=>6) 的形式 。

Posted by & filed under 每日一题.

【四脚猫】每日一题(2015年03月23日):不执行的情况下,分析如下PHP代码打印结果是什么?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php

class  Foo{

    function hello($value='')  {
        echo "hello!";
        //echo $this->a;
    }

    public static function __callStatic($method, $args){
        echo $method;
    }
}

class  Bar  extends  Foo{
   

}


Bar::hello();

Posted by & filed under 每日一题.

【四脚猫】每日一题(2015年03月20日):有一个需求,要求生成全局唯一号码(类似QQ号),但是要把好的号码预先留下或者在用户注册的时候判断将要 获取的号码是不是好号码。。。

这个怎么做?

比如8位开始,像88888888,12345678,11111111,22222222,33333333,10000001都不能给用户……