3v4l.org

run code in 300+ PHP versions simultaneously
<?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
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.36, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.29, 8.2.0 - 8.2.21, 8.3.0 - 8.3.9
array(4) { [4]=> array(1) { [0]=> string(4) "1234" } [3]=> array(1) { [0]=> string(3) "123" } [2]=> array(1) { [0]=> string(2) "12" } [1]=> array(1) { [0]=> string(1) "1" } } 1234

preferences:
269.29 ms | 406 KiB | 313 Q