PHP程序员必须会的 45 个PHP 面试题
在
Q33:区分参数化和非参数化功能主题:PHP
Q34:通过引用解释函数调用主题:PHP 在通过引用调用的情况下,如果在函数内部修改了实际值,则将对其进行修改。在这种情况下,我们需要使用 例: function adder(&$str2) { $str2 .= 'Call By Reference'; } $str = 'This is '; adder($str); echo $str;
输出: This is Call By Reference
Q35:为什么我们使用extract()?主题:PHP 该 此函数将数组键用作变量名,将值用作变量值。对于每个元素,它将在当前符号表中创建一个变量。 此函数返回成功提取的变量数。 例: $a = "Original"; $my_array = array("a" => "Cat","b" => "Dog","c" => "Horse"); extract($my_array); echo "$a = $a; $b = $b; $c = $c";
输出: $a = Cat; $b = Dog; $c = Horse
Q36:解释什么是PHP闭包,为什么它使用“ use”标识符?主题:PHP 考虑以下代码: public function getTotal($tax) { $total = 0.00; $callback = function ($quantity,$product) use ($tax,&$total) { $pricePerItem = constant(__CLASS__ . "::PRICE_" . strtoupper($product)); $total += ($pricePerItem * $quantity) * ($tax + 1.0); }; array_walk($this->products,$callback); return round($total,2); }
您能解释一下为什么使用它吗? 这就是PHP表示闭包的方式。基本上,这意味着您允许匿名函数在其作用域之外“捕获”局部变量(在本例中为, 闭包是一个单独的命名空间,通常,您不能访问此命名空间之外定义的变量。
Q37:PHP中最新的静态绑定到底是什么?主题:PHP 基本上,可以归结为以下事实: 后期静态绑定引入了 考虑: class Car { public static function run() { return static::getName(); } private static function getName() { return 'Car'; } } class Toyota extends Car { public static function getName() { return 'Toyota'; } } echo Car::run(); // Output: Car echo Toyota::run(); // Output: Toyota
主题:PHP 我想知道执行一次PHP while循环需要多少毫秒。你可以帮帮我吗? 您可以使用此 考虑: $start = microtime(true); while (...) { } $time_elapsed_secs = microtime(true) - $start;
Q39:合并两个PHP对象的最佳方法是什么?主题:PHP //We have this: $objectA->a; $objectA->b; $objectB->c; $objectB->d; //We want the easiest way to get: $objectC->a; $objectC->b; $objectC->c; $objectC->d;
这有效: $obj_merged = (object) array_merge((array) $obj1,(array) $obj2);
你也可以使用 另一种方法是: foreach($objectA as $k => $v) $objectB->$k = $v;
(编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |