Một cách hay hơn để thực hiện những điều sau, điều đó không gọi f() hai lần?Phân bổ PHP với giá trị mặc định
$x = f() ? f() : 'default';
Một cách hay hơn để thực hiện những điều sau, điều đó không gọi f() hai lần?Phân bổ PHP với giá trị mặc định
$x = f() ? f() : 'default';
Điều này dường như làm việc tốt:
$x = f() or $x = 'default';
function f()
{
// conditions
return $if_something ? $if_something : 'default';
}
$x = f();
Ah, câu trả lời tốt. Ý tôi là f() là thứ mà chúng ta không kiểm soát và thực ra cái cách này cho tôi, nó không phải là một hàm gì cả mà là '$ _REQUEST ['foo']' nên nó không phải là vấn đề hiệu quả nhiều như vấn đề đánh máy. – dreeves
Bạn có thể lưu nó vào một biến. Testcase:
function test() {
echo 'here';
return 1;
}
$t = test();
$x = $t ? $t : 0;
echo $x;
+1 vì tôi chưa từng thấy điều đó trước đây. khéo léo. –
+1 vì tôi chưa thấy được sử dụng trong bất kỳ cuốn sách nào của tôi bao gồm PHP 5.3. Rất tốt để biết. – Andrew