<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Variable scope</title> </head> <body> <?php function doubleIt($number) { $number *= 2; echo '$number is ' . $number . '<br>'; } $number = 4; doubleIt($number); echo '$number is ' . $number; ?> </body> </html>
<!DOCTYPE HTML> <html><head><meta charset="utf-8"> <title>Pass a variable by reference</title></head> <body> <?php function doubleIt(&$number) { $number *= 2; } $num = 4; echo '$num is ' . $num . '<br>'; doubleIt($num); echo '$num is now: ' . $num; ?> </body></html>
<?php $number = 2; // pass by value // function doubleIt($number) { // return $number *= 2; // } // pass by reference function doubleIt(&$num) { $num *= 2; } $doubled = doubleIt($number); echo '$doubled is ' . $doubled . '<br/>'; echo '$number is ' . $number . '<br/>'; var_dump($doubled);
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Return value</title> </head> <body> <?php function doubleIt($number) { return $number *= 2; } $num = 4; $doubled = doubleIt($num); echo '$num is: ' . $num . '<br>'; echo '$doubled is: ' . $doubled; ?> </body> </html>
<?php $number = 2; // Pass by value /*function doubleIt($number) { return $number *= 2; }*/ // Pass by reference function doubleIt(&$num) { $num *= 2; } $doubled = doubleIt(8); echo '$doubled is ' . $doubled . '<br>'; echo '$number is ' . $number . '<br>'; var_dump($doubled);
<?php require_once './namespace.php'; require_once './namespace2.php'; require_once './namespace3.php'; use Oreilly\Php7\UpToSpeed\{Nouns\Language, Nouns\Operator, Verbs\Possess}; use Oreilly\Php7\UpToSpeed\Common\{DoSomething, const PIE, const LOCATION, function doubleIt, function cube}; $number = 4; echo '<p>' . LOCATION . ' is a great place to live.</p>'; echo "<p>Twice {$number} is " . doubleIt($number) . ", but cubed, it's " . cube($number) . '.</p>'; $obj = new DoSomething(); echo '<p>Yum, ' . PIE . '!</p>';