I am new to PHP and I’m trying to convert a simple Javascript function into a PHP function. So far I know to only convert the variables, I need help with the sort function and array filter. Thanks for any help!
var closeRoll = function( number ) {
var rollArray = [36, 48, 60, 72];
var closest = rollArray.filter(function(ele){
return ele - number >= 0
}).sort()[0];
return closest;
};
My half conversion:
function closeRoll( $number ) {
$rollArray = Array(36, 48, 60, 72);
$closest = array_filter( $rollArray, function temp( $rollArray ) {
return $rollArray - $number >= 0;
}); //.sort()[0];
return $closest;
};
Scoping does not work quite like JavaScript; you can’t simply refer to
$numberinside your callback function, because it does not have a scope chain.You either have to make it global (not recommended but simple):
Or you could utilize the
useoperator (an elegant solution):