PHP 8.5.0 Beta 1 available for testing

Voting

: max(eight, five)?
(Example: nine)

The Note You're Voting On

Anonymous
2 years ago
Parameters passed by references can have default values.
You can find out if a variable was actually passed by using func_num_args():

<?php

function refault( & $ref = 'Do I have to be calculated?'){
echo
'NUM ARGS: '. func_num_args()."\n";
echo
"ORI VALUE: {$ref}\n";
if(
func_num_args() > 0 ) $ref = 'Yes, expensive to calculate result: ' . sleep(1);
else
$ref = 'No.';
echo
"NEW VALUE: {$ref}\n";
}

$result = 'Do I have to be calculated?';
refault( $result );
echo
"RESULT: {$result}\n";
// NUM ARGS: 1
// ORI VALUE: Do I have to be calculated?
// NEW VALUE: Yes, expensive to calculate result: 0
// RESULT: Yes, expensive to calculate result: 0

refault();
// NUM ARGS: 0
// ORI VALUE: Do I have to be calculated?
// NEW VALUE: No.
?>

<< Back to user notes page

To Top