Skip to content

Commit

Permalink
SQL PHP JS notes
Browse files Browse the repository at this point in the history
  • Loading branch information
astechedu committed Jan 13, 2024
1 parent 7939add commit 9955167
Showing 1 changed file with 129 additions and 2 deletions.
131 changes: 129 additions & 2 deletions sqlphp/developer-notes/php/corephp/php.8/HigherOrderFunction.txt
Original file line number Diff line number Diff line change
@@ -1,23 +1,150 @@
>>>> PHP Higher Order Function <<<<<<



--------------------------------------------------------------
--------------------------------------------------------------
Keys:
--------------------------------------------------------------
--------------------------------------------------------------


Websites:

//Higher Order Function Examples
https://www.sitepoint.com/functional-programming-in-php-higher-order-functions/

--------------------------------------------------------------
--------------------------------------------------------------




>>> Higher Order Function <<<<

Higher Order Function accepts another function as argument and return a function.




1.

function callback() {
echo "Callback executed in Higher Order Function";
}

function hof($callback) { //Higher Order Function

$callback();
}

echo hof('callback');


2.


function callback() {
return 10;
}

function hof($callback) { //Higher Order Function

echo $callback();
}

hof('callback');



3.

function callback() {
return 10;
}

function hof($callback) { //Higher Order Function

return $callback();
}

echo hof('callback');




4. HOF And Type Hinting


function result($sum) {
return $sum;
}

function add(int $num, string $result) { //Higher Order Function
$sum = $num + 2;
return $result($sum);
}


echo add(10, 'result');




5. Higher Order Function Using Type Hinting (Like: int, string, int|string etc)


function callback(): string {
return "Done";
}

function hof(int $num1, int $num2, string $callback): int|string { //Higher Order Function

$sum = $num1 + $num2;
return "Sum is {$sum} " .$callback();
}

echo hof(5,1, 'callback');



6;

//Double the marks : Creating higher Order Function

$marks = [10,52,30,84,95];
//$marks = [1,2,3,4,5];

function result(array $marks) {


for($i=0; $i < count($marks); $i++){

$marks_product[] = $marks[$i] * 2;
}

return $marks_product;
}


function add(array $marks, $result) { //Higher Order Function

return $result($marks);

}

$newMarks = add($marks, 'result');

echo "<pre>"; print_r($newMarks);






---x---





1.
// Simple user-defined function we'll pass to our higher-order function
Expand Down

0 comments on commit 9955167

Please sign in to comment.