if语句中的php return语句

Maybee my question is somehow elementary or stupid, however i need to verify this.

I have a php function "functionA" which is repeatidely called in a for loop:

...
for($j=0; $j<$n_samples;$j++) {
    if($type=='triband') {
        functionA($arg1,$arg2);                 
    }
}
...

and my functionA:

...
functionA($arg1,$arg2) {
    $wide_avg_txon = substr($bit_sequence,0,1);
    if($wide_avg_txon==0)
    {
        echo " ---> is OFF...<br />";
    }
    else
    {
        echo " ---> is ON...<br />";
        // if is ON then skip execution of code inside the function
        return;
    }

    // DO SOME STUFF!
}
...

So simply i do not want to execute the rest of code inside functionA if "$wide_avg_txon==1" and i just want to continue executing the for loop for the next iteration!

Is the above code going to work? What is the difference between: 'return' and 'return false'? Is 'return false' going also to work:

...
if($wide_avg_txon==0)
    {
        echo " ---> is OFF...<br />";
    }
    else
    {
        echo " ---> is ON...<br />";
        // if is ON then skip execution of code inside the function
        return false;
    }

thanks!

Your return will work because you are not interested in the result that is being returned. You just want to continue the for-loop.

If you had a code construction that tested something and you want to know the result of the testing then you could use return false to let the rest of the code know the test failed.

Function will be stopped after the return statement. You can read more about here: http://php.net/manual/tr/function.return.php

As as example you can do something like this to test this:

<?php
$_SESSION['a'] = "Naber";
function a(){
        return;
        unset($_SESSION['a']);
}
a(); // Let see that is session unset?
echo $_SESSION['a'];
?>

Thanks

return false returns false, a boolean. return will return NULL. Neither will execute any subsequent code.

So to expand upon RST's answer, both returns would not satisfy an if condition:

if(functionA($arg1,$arg2))
     echo'foo';
else
     echo'bar';

bar would be echoed.

Where this might be useful is if you have:

$return=functionA($arg1,$arg2);
if($return===NULL)
    echo'Nothing happened';
elseif($return===false)
    echo'Something happened and it was false';
else
    echo'Something happened and it was true';

NULL is pretty useful.

Your functionA will work perfectly, but for readability's sake it may be better to format it this way:

...
function functionA($arg1, $arg2) {

    $wide_avg_txon = substr($bit_sequence,0,1);

    // if is ON then skip execution of code inside this function
    if ($wide_avg_txon != 0) {
        echo " ---> is ON...<br />";
        return;
    }

    echo " ---> is OFF...<br />";

    // DO SOME STUFF!
}
...

The difference is that you immediately disqualify the "ON" condition that you don't want, and exit the function as quickly as possible. Then the rest of the function is working on whatever it is you want to do, rather that sitting inside of an if statement block.