在php中使if语句的两个结果都等于一个变量

在php中使if语句的两个结果都等于一个变量,php,Php,以下是我试图做的: $sum = 0; if ($number >= 23) { do { $sum += $number % 10; } while ($number = (int) $number / 10); $sum = $number_edited; echo "$number_edited"; } else { $number = $number_edited; echo "$number_edited"; } 循环的

以下是我试图做的:

$sum = 0;
if ($number >= 23)
{
    do { 
    $sum += $number % 10;
    } while ($number = (int) $number / 10);
    $sum = $number_edited;
    echo "$number_edited";
}
else
{
    $number = $number_edited;
    echo "$number_edited";
}
循环的全部目的是计算$number中所有数字的总和,它正在工作,可以忽略

这不起作用,没有结果,相反,我收到了一个通知:
未定义的变量号\u edited

我之所以尝试在末尾只有一个变量,是因为我想用
$number\u edited
进行另一组计算


有什么办法可以让它工作吗?

您的代码中有一些错误

 $number_edited=0; // declare
 $sum = 0;
 if ($number >= 23)
   {
     do { 
         $sum += $number % 10;
        } while ($number = (int) $number / 10);
    $number_edited=sum;//your declaration is wrong. This will make $number_edited equal to $sum.
    echo "$number_edited";
   }
else
  {
   $number_edited=$number;//also here
   echo "$number_edited";
  }

请记住,左侧的值始终由右侧的值指定。不从左到右赋值。换句话说,左边的值是“新的”,右边的值是“旧的”。

在启动“if语句”之前,您似乎既没有声明变量$number,也没有声明变量$number\u edited。

您以错误的方式分配变量
$number\u edited
。声明变量时,左侧应包含变量名称,右侧应包含变量值

例如:
$var=1

$var
应该是变量的名称(在左侧),1应该是变量的值(在右侧)

所以试试这个

$sum = 0;
if ($number >= 23)
{
    do { 
    $sum += $number % 10;
    } while ($number = (int) $number / 10);
    $number_edited=$sum;
    echo "$number_edited";
}
else
{
    $number_edited=$number;
    echo "$number_edited";
}

在您没有定义$number\u编辑的代码中,您打算在何处使用
$sum
?@Jenz这正是我要解决的问题,我想将其定义为$sum或$number,具体取决于if语句的标准。我尝试了
$sum=$number\u编辑
$number=$number\u编辑我需要以什么方式重写它才能正确定义它?