我有一个可能很简单的查询,但在任何地方都找不到确切的解决方案。
有一个逗号分隔的字符串,例如1,3和一个具有值的数组,例如1,3,2 OR 3,1,4。我需要一个函数,当我尝试在数组中搜索此字符串时,它对两个记录都返回 TRUE,因为数字 1 和 3 存在于两个数组值中,但顺序不同。
我尝试使用array_search,strpos甚至explode首先在数组中创建字符串,然后array_intersect与两个数组相交,希望获得正匹配,但始终只返回值为 1、3、2 而不是 3、1、4 的数组。
任何建议或指示都会非常有帮助。
提前谢谢了。
=======================
PS:这是我的代码
//Enter your code here, enjoy!
$st_array = array();
$st_data1['id'] = 1;
$st_data1['title'] = 'Jane doe';
$st_data1['disk'] = '1,3,2';
array_push($st_array, $st_data1);
$rc_disk_id = '1,3';
$st_data2['id'] = 2;
$st_data2['title'] = 'Jane Smith';
$st_data2['disk'] = '3,1,4';
array_push($st_array, $st_data2);
foreach($st_array as $st_data) {
$rc_disk_ids = explode(",",$rc_disk_id);
$match = array_intersect($rc_disk_ids, $st_data);
if (!empty($match)) {
echo "\nFound\n";
print_r($st_data);
}
else {
echo "Nope!";
}
}
互换的青春
蓝山帝景