2012-04-11 55 views
0
<?php 

function some_func(){ 

return 'some_str_type' && 'another_str_type'; 
} 

function another_func(){ 

return '123' || '456'; 
} 


print some_func(); //1 - the same as true 

print another_func(); //again prints 1, as true 

任何語言使然編碼,放棄非小功能分成若干小的的清新的風格 - 因爲一個函數返回一個值。PHP函數可以一見鍾情返回不同和多值,但它不能

但是,我在一些流行的php-template langs(smarty,dwoo)的源碼中看到了這種方法。 那是什麼?何時以這種方式編碼? (意味着任何真實世界的情況)

回答

4

PHP將返回1值。你在上面做的是你鍵入一個表達式,這是一個評估,並返回結果布爾值。

return 'some_str_type' && 'another_str_type'; 

成爲

return true && true; 

成爲

return true; 

當在現實生活中使用:

function some_func(){ 
    $success1 = doStuff1(); 
    $success2 = dostuff2(); 
    return $success1 && $success2; 
} 

如果兩個調用的函數返回true,它將返回true。

+0

最後一個例子中,如果至少有一個爲真,則或者返回true。 – Dion 2012-04-11 09:35:07

+0

表達式確實按照您對邏輯表達式的期望進行分析:) – Nanne 2012-04-11 09:38:28