Hi Chris, Wednesday, May 30, 2007, 1:17:39 PM, you wrote: >> If there is no need to return a value then I don't do >> so. However, the function is going to process something, >> and surely you should check that the processing has >> succeeded or failed? > This is precisely the point I was going to make. Unless an argument is > passed in by reference for manipulation within the function, I can't > think of a reason why you wouldn't want to return a value; true or false > at the very least. You call a function to perform, well, a function. I > would think that you would want to know whether or not the process > within the function was successful, yes? Even the most simple function can have more than one failure point within it. If you aren't handling the errors yourself within the function, you're returning false all over the place and then having to do the same checking from whatever called it - duplicated however many times you call that function from your code. It's a hideous example, but it's straight out of the PHP manual, so run with it and indulge me: $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } If that was wrapped in a function, sticking 'return false' within the connect_error check is useful why exactly? Equally the fact the function didn't 'exit' implies it 'returned true' anyway, so why check it again in whatever called the function in the first place? it has performed its task, it didn't raise an error. (I know most of us would never use 'exit' in production code like the above, so replace it with whatever error handling mechanism you have, the question above remains the same.) Cheers, Rich -- Zend Certified Engineer http://www.corephp.co.uk "Never trust a computer you can't throw out of a window" -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php