21,886
社区成员
发帖
与我相关
我的任务
分享
$c_left = array('哪里的学校好','训知道的是','知道的校','知道的习');
// 去分行符号
foreach($c_left as &$val) {
$val = str_replace("\n", "", $val);
}
$c_right = $c_left;
shuffle($c_right);
//var_dump($c_left);
//var_dump($c_right);
$res = array();
foreach($c_left as $key => $val_left) {
// 检查左侧是否匹配
$check = check_ci($val_left);
// 左侧匹配了,看看右侧
$val_right = $c_right[$key];
if($check) {
// 检测右侧是否匹配
$check = check_ci($val_right);
if($check) {
// 左侧匹配到,右侧匹配到,完蛋,继续匹配
$res[] = $val_left . '|' . rand_right_value($c_right);
} else {
// 左侧匹配到,右侧未匹配
$res[] = $val_left . '|' . $val_right;
}
} else {
// 因为左侧没匹配到,忽视右侧情况
$res[] = $val_left . '|' . $val_right;
}
}
//print_r($res);
foreach($res as &$val) {
echo $val."\r\n" ;//= str_replace("\n", "", $val);
}
// 随机从右侧里面获取一个值
function rand_right_value($c_right) {
shuffle($c_right);
foreach($c_right as $key => $val) {
// 检查左侧是否匹配
$check = check_ci($val);
if(!$check) {
return $val;
}
}
}
function check_ci($val_left) {
$ci = array('哪','训','校','习');
// 检查左侧是否匹配
$check = false;
foreach($ci as $cv) {
if(preg_match("/{$cv}/", $val_left)) {
$check = true;
break;
}
}
return $check;
}