我正在编写一个脚本,该脚本需要标识每个第7个数字,其中序列的第一个数字为0(因此序列为6、13、20、27、34、41、48等)
这是到目前为止的内容(仅在有限的范围内起作用),但是我更愿意编写一个循环,以便不必对序列中的值进行硬编码:
<?php
$x = 7;
if ($x === 6 || $x === 13 || $x === 20 || $x === 27 || $x === 34 || $x === 41 || $x === 48) {
$result = 1;
} else {
$result = 0;
}
echo $result;
?>
在此先感谢您的任何建议!
更新:这是我使用@robbieaverill的解决方案并根据数组检查值的更新脚本。这里有很多很棒的解决方案,谢谢大家!
<?php
$divisor = 7;
$limit = 500;
$sequence = array();
for ($i = 0; $i <= $limit; $i++) {
if (is_int(($i + 1) / $divisor)) {
$sequence[] = $i;
}
}
$x = 41;
if (in_array($x, $sequence, true)) {
$result = 1;
} else {
$result = 0;
}
echo $result;
?>
此处的输出为1,表示如果$ x的值为41,则会在$ sequence数组中找到它。
您可能有很多不同的方法可以做到这一点。如果您需要确定可以被7整除的数字(加上1,因为您是基于零的数字),则可以执行以下操作:
$divisor = 7;
$limit = 100; // when do you want to stop searching?
for ($i = 0; $i <= $limit; $i++) {
if (is_int(($i + 1) / $divisor)) {
var_dump($i);
}
}
请注意,is_int()
正在检查除法的结果是否为整数,对于十进制/浮点数,它将返回false。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句