我有一个数组:
$strings = [
'1'=>'Hie bye why',
'2'=>'abc xyz pqr',
'3'=>'abc xyz lmn'
];
我有一个搜索字符串abc xyz pqr
。我想对数组进行排序,以便匹配搜索字符串的字符串应位于数组中的第一个位置,依此类推
即。 abc xyz pqr
首先应该不是abc xyz lmn
。
我该怎么做?
答案 0 :(得分:0)
试试这个
<?php
$strings = [
'1'=>'Hie bye why',
'2'=>'abc xyz pqr',
'3'=>'abc xyz lmn'
];
$search = 'abc xyz pqr';
// Debugging
echo 'Before sort:';
echo '<pre>'.print_r($strings,true).'</pre>';
// Sort the array
usort($strings, function($a, $b) use ($search) {
return ($search == $a) ? -1 : 1;
});
// Debugging
echo 'After sort:';
echo '<pre>'.print_r($strings,true).'</pre>';