PHP Tricks
September 1, 2022
How to find the closest number in an array?
Question: Given a number. What way to find the number closest to given in unsorted array?
Data:
Unsorted numbers array: [5, 56, 23, 1, 89, 3]
Number: 90
<?php
// assign data to variables
$array = [5, 56, 23, 1, 89, 3];
$number = 90;
// calculate distances between given number and each element of array
$distances = array_map(
function($el) use ($number) {
return abs($el - $number);
},
$array
);
//get monimal distance position
$index = array_keys($distances, min($distances))[0];
// print out closest number
echo "Closest number is: " . $array[$index];September 1, 2022, 19:04
0Â views
0Â reactions
0Â replies
0Â reposts