2013-10-02 131 views
0

我得到了PHP函數是這樣的:PHP functiom,默認回波或返回值

function doingSomething($arg) 
{ 
    ... 
    echo($someString); 
} 

我不想/複製PASE該功能,使第二個只有當我需要的函數返回值,不迴應它。我怎麼能修改它,所以只要我需要它就會返回$ someString?

+0

如果我添加返回它會一舉兩得。當我需要「回聲」時,我只想做「返回」。 – SubZeroFX

回答

3

使用另一個參數來告訴你的函數做什麼用的字符串:如果你想呼應它

function doingSomething($someString, $echo = false){ 
    if($echo){ 
     echo $someString; 
    } 
    return $someString; 
} 

然後:

doingSomething('String to echo', true); 

還是回到:

doingSomething('String to return'); 
+0

爲什麼不總是返回字符串,但只有在有參數集時纔會回顯它? – h2ooooooo

+0

因爲這不是OP問的問題? –

+0

@ScottHelme如果它以任何方式由'doingSomething('string')調用,它是否返回任何內容並不重要。 – h2ooooooo

1

您可以使用函數的第二個參數來完成此操作。

function doSomething($arg, $doOutput) { 
    ... 
    if ($doOutput) { echo $someString; } 
    else { return $someString; } 
} 

如果$ doOutput爲真則返回String,否則返回。

1

爲什麼不直接或者使用或者返回需要這樣的價值:

<?php 
function doingSomething() 
{ 
    return "Fluffeh"; 
} 

$var=doingSomething(); 
echo $var."<br><br>"; 

echo "Or this way ".doingSomething(); 
?> 

您獲得兩全其美,既可以將輸出保存到一個變量或簡單地echo它在你的代碼需要?

輸出:

Fluffeh 

Or this way Fluffeh 
+0

默認情況下,我會回聲,只有在非常罕見的情況下,我會返回它,所以我會通過做回聲來節省空間功能默認。 – SubZeroFX

+0

唯一的另一種方式是另外兩個答案的建議,即每次都向該函數傳遞另一個參數。儘管如此,節省空間?我不明白。 – Fluffeh

+0

是的,我已經得到了anog做出的答案,那是我一直在尋找。至於節省空間......好吧,我會用HTML代碼調用這個函數,這樣我就可以輕鬆地放上那個函數(在它之前沒有echo,不,我不想把這個函數的String保存到另一個$ var )所以我知道它會回聲的字符串...沒關係,現在都很好:)謝謝大家! – SubZeroFX