$v){ foreach ($v as $kk => $vv){ preg_match_all('/[\x{4e00}-\x{9fa5}]/u', $vv, $m); //分离出单个汉字 $m = $m[0]; $t = in_array($k, [0, 1]) ? 0 : 1; //0针对天干1针对地支 $c = ($t == 0) ? $p->ctg : $p->cdz; //天干或地支 foreach ($m as $kkk => $vvv){ $m[$kkk] = array_search($vvv, $c); if($m[$kkk] === false){ //尝试替换成五行 $m[$kkk] = array_search($vvv, $p->cwx); } } switch ($k){ case 0: //天干相冲 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}], -1, '{$vv}']"; break; case 1: //天干五合 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}], {$m[4]}, '{$vv}']"; break; case 2: //地支相冲 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}], -1, '{$vv}']"; break; case 3: //地支三刑 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}, {$m[2]}], -1, '{$vv}']"; break; case 4: //地支相刑 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}], -1, '{$vv}']"; break; case 5: //地支自刑 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}], -1, '{$vv}']"; break; case 6: //地支六合 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}], {$m[4]}, '{$vv}']"; break; case 7: //地支三合 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}, {$m[2]}], {$m[5]}, '{$vv}']"; break; case 8: //地支半合 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}], {$m[4]}, '{$vv}']"; break; case 9: //地支拱合 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}], {$m[4]}, '{$vv}']"; break; case 10: //地支三会 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}, {$m[2]}], {$m[4]}, '{$vv}']"; break; case 11: //地支拱会 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}], {$m[4]}, '{$vv}']"; break; case 12: //地支暗合 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}], -1, '{$vv}']"; break; case 13: //地支相害 $q[] = "[{$t}, {$k}, [{$m[0]}, {$m[1]}], -1, '{$vv}']"; break; } } } $php = "