在确定我经常需要处理的数字值时(我确定我们都会这样做),一种逻辑正在减少一个数字,如果它大于另一个数字。
我目前的例子是:
$position = (int) $x; // Position in stream
$length = (int) $y; // Byte length in stream
$amount = (int) $z; // Amount of bytes to read
// Convert to single equation.
// ===================================================
$available = $length - $position;
$amount = $amount > $available ? $available : $amount;
// ===================================================
// Possible solution, but uses logic
// $amount = $amount > ($available = $length - $position) ? $available : $amount;
// doRead($amount)
我已将我的"默认"初始作业下的解决方案,以及我在其下面的评论中缩短(但最终相同)的解决方案。
我正在寻找一个数学解,即单个方程式,其中$amount
等于$length - $position
的结果,如果它大于该减法,否则它将保持不变。