我有一些代码,感觉好像有很多重复。我将其归结为以下内容,但是我仍然看到一些重复的事情,感觉应该有一种更简洁的编写方法。还有什么可以做的吗?
$w1 = ($fin[57] > $fin[60]) ? $tc[57] : $tc[60];
$l1 = ($fin[57] > $fin[60]) ? $tc[60] : $tc[57];
$w2 = ($fin[58] > $fin[59]) ? $tc[58] : $tc[59];
$l2 = ($fin[58] > $fin[59]) ? $tc[59] : $tc[58];
我真正想要的是,如果有一种方法可以使三元数返回真值和假值的数组。像这样的虚拟代码:
list($w1, $l1) = (array) ($fin[57] > $fin[60]) ? $tc[57] : $tc[60];
list($w2, $l2) = (array) ($fin[58] > $fin[59]) ? $tc[58] : $tc[59];
您可以使用list
使它更好一点:
$order = function ($i1, $i2) use ($fin, $tc) {
$r = [$tc[$i1], $tc[$i2]];
if ($fin[$i2] > $fin[$i1]) $r = array_reverse($r);
return $r;
};
list($w1, $l1) = $order(57, 60);
list($w2, $l2) = $order(58, 59);