PHP程序员必须会的 45 个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;
这比<7版本的PHP中的第一个答案要快(估计要快50%)。但是在PHP> = 7中,第一个答案快了400%。 Q40:比较mysqli或PDO-优缺点是什么?主题:PHP (编辑:PHP编程网 - 襄阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

