PHP面试编程题汇总(3)

接上文:PHP面试编程题汇总(2)
21. 下面代码执行结果是

$array= array('1','1');
foreach($array as $k=>$v){
       $v= 2;
 }

print_r($array)

考察点:数组
输出结果:Array
(
[0] => 1
[1] => 1
)

  1. 下面代码执行结果正确的是
$x="display"; 
${$x.'_result'} ();

编译错误

  1. 下面代码的结果
$a = ['a','b','c'];
$b = ['a','b'];
$c = $a+$b;
print_r($c);

考察点:数组运算
输出结果:Array ( [0] => a [1] => b [2] => c )

  1. 下面代码的执行结果
echo 24%(-5)

考察点:运算符
输出结果: 4

  1. 下面代码的结果
$a = "hello";
$b = &$a; 
unset($b);
$b = "world";
echo $a;

考察点:引用
输出结果:hello
$b,$a指向了一个地址。有一个删除,另一个则不会受影响

  1. 下面代码的结果:
$a = "hello";
$b = &$a;
$b = "world";
echo $a;

考察点:引用
输出结果: world
$b,$a指向了一个地址。 有一个更改,另一个也会更改

  1. 输出下面结果
$j = 5;
switch ($j) {
    default:
        echo "no result";
    case 1:
        echo "周一";
    case 2:
        echo "周二";
    case 3:
        echo "周三";
    case 4:
        echo "周四";
    case 5:
        echo "周五";
    case 6:
    case 7:
        echo "周末";

考察点:switch
输出结果: 周五周末
5后面没有结束语,会一直往下执行

  1. 下面代码的结果
 class A
    {
         private function a()
         {
            echo "a";
         }
         public function __call($name,$arguments)
         {
            echo "调用不存在的方法名是:".$name.'
参数是:'
; print_r($arguments); echo '
'
; } $ins=new A; $ins->b([1,2,3]);

考察点:面向对象
输出结果:调用不存在的方法名是:b
参数是:Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) )
__call方法在调用对象中不存在的方法时自动调用
__call方法有2个参数

你可能感兴趣的:(PHP)