- var_dump: documentation ( source)
- strpos: documentation ( source)
- krsort: documentation ( source)
- current: documentation ( source)
<?php
$input = '1234567';
$array = ['1', '12', '123', '1234', '456', '56', '7', '3456', '234567'];
$results = [];
foreach ($array as $data) {
if (strpos($input, $data) === 0) {
$results[strlen($data)][] = $data;
}
}
krsort($results);
// best results - you can use foreach to scroll them all
var_dump($results);
// pick the best result
echo current($results)[0]; // 1234