【发布时间】:2016-04-06 18:35:31
【问题描述】:
我想在一个数字中添加所有数字,如果它是 11,22,那么我只想显示 11 或 22,否则我想将其设为单个数字。 示例 30=3+0=3 28=2+8=10=1+0=1
我刚刚做了一个代码,但它有一个错误 请帮忙。
<?php
$day = 17;
$month = 8;
$year = 1993;
function sumday($day)
{
if ($day == 11)
{
$sday = 11;
}
elseif ($day == 22)
{
$sday = 22;
}
elseif ($day == 29)
{
$sday = 11;
}
else
{
do {
$nday = $day . "";
$sday = 0;
for ($i = 0; $i < strlen($nday); ++$i)
{
$sday += $nday[$i];
}
while ($sday <=9);
}
return $sday;
}
【问题讨论】:
-
您的问题不清楚,这是我对您的文字解释的猜测。 eval.in/496369
-
while中的测试不是倒过来的吗?当结果大于 9 时,您想继续重复,不是吗? -
您需要在重复之前将
$nday设置为$sday。