PHP+mysql 例如我想搜索关键词 $keyword为25*50的结果中同时显示25*50及50*25的结果,然后继续搜索25*50*2.5的结果中也同时显示50*25*2.5的结果。(后面还有25*50*1.1到25*50*4.75)
需要PHP进行怎样的判断或者方法。
------解决思路----------------------
你可能要的是这个
$key = '20*50*30';
$arr = explode('*', $key);
print_r(Arrangement($arr));
//排列 Arrangement
function Arrangement($arr = array(), $res = '') {
if(! is_array($arr) ) $arr = str_split($arr);
if(empty($arr)) $array[] = $res;
else foreach($arr AS $k => $v) {
unset($arr[$k]);
foreach( Arrangement($arr, trim("$res*$v", '*')) AS $t) $array[] = $t;
$arr[$k] = $v;
}
return $array;
}
Array
(
[0] => 20*50*30
[1] => 20*30*50
[2] => 50*30*20
[3] => 50*20*30
[4] => 30*20*50
[5] => 30*50*20
)