2016-10-25 90 views
-3

這個問題實際上是關於PHP的不良做法。我正在學習如何使用這種語言進行編碼,並且我已經可以在Python中使用Lua &。當一個if語句被告知在Lua中「什麼都不做」時,你會直接說「return」,但我明白這在PHP中不起作用。我一直在使用print(),但是我明白這可能是不好的做法,我想知道是否有一個無所事事的功能。如果聲明(什麼都不做)

if (condition) { //If condition is met 
     print(""); //Do Nothing 
    } else { 
     //Run the function; 
    } 

在此先感謝您。

+1

當然,只是不打印或只是退出。 –

+3

你可以......好吧..什麼也不做?或者:否定你的條件,只在當前的else語句中使用代碼? –

+2

翻轉它的頭部,如果真的什麼都不做,就將它移除並尋找假的if(!condition){} – Blinkydamo

回答

5

最簡單的方法是:

if(condition) { 

} else { 
    // your code 
} 

智能和清潔的方式,但是,這是否定的條件:

if(!condition) { 
    // your code 
} 

,並用它做。

編輯:

如果你的條件很複雜,不要忘了使用括號:

if(!(condition_A && condition_B)) { 
    //your code 
} 
+0

完美,非常感謝。沒有意識到這很容易! :) –

+0

哦,你可以(也應該)對其他語言使用相同的原則。不只是PHP。 –

0

第一關:您可以在PHP中使用return,就像你在Lua做。但是,當你在Lua中使用它時,它在自定義函數中。如果您將此結構複製到PHP,併爲邏輯的不同部分創建函數,那麼您將能夠(也應該)使用return控制語句來實際控制應用程序邏輯。

對於您的具體示例,否定條件也可能有所幫助。取決於你想要做什麼。在使用return語句的情況下,否定條件不會有幫助(只會增加嵌套)。
這就是爲什麼我離開你用兩種不同的方法來做到這一點在PHP中,這取決於什麼其他你想要的功能做的:在功能

沒有更多的工作:

function doStuff ($param) { 
    if ($param == null) { 
     return; 
    } 
    // To stuff to the parameter. 

    return $result; 
} 

該功能應該做更多:

function doMoreStuff ($stuff, $limited = true) { 
    $result = ''; 

    if (!$limited) { 
     $result = 'More '; 
    } 

    return $result."stuff"; 
} 

這些都是非常瑣事l例子,但它們應該給你一個進一步改進你的代碼和理解PHP的出發點。 :)