<?php
function in_array_cmp($needle, array $haystack, callable $cmp) {
foreach ($haystack as $value) {
if ($cmp($needle, $value)) {
return true;
}
}
return false;
}
$cmpround = function($a, $b) { return round($a, 1) == round($b, 1); };
$array_1 = range(1, 1.9, 0.1);
var_dump(in_array_cmp(1.7, $array_1, $cmpround));
$array_2 = range(0, 0.9, 0.1);
var_dump(in_array_cmp(0.3, $array_2, $cmpround));
var_dump(in_array_cmp(0.6, $array_2, $cmpround));
var_dump(in_array_cmp(0.7, $array_2, $cmpround));
//=>it return false;
preferences:
52.94 ms | 402 KiB | 5 Q