Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
余数后的PHP查找指数为零_Php_Math - Fatal编程技术网

余数后的PHP查找指数为零

余数后的PHP查找指数为零,php,math,Php,Math,我已经编写了这段代码,但我没有什么问题,或者可能是我遗漏了什么 public function test() { $number = "8192"; for ($i=1; $i<=32; $i++) { if(($number % pow(2,$i)) == 0) { $final = 32-$i; echo $final;

我已经编写了这段代码,但我没有什么问题,或者可能是我遗漏了什么

public function test()
{
    $number = "8192";
    for ($i=1; $i<=32; $i++)
        {
            if(($number % pow(2,$i)) == 0)
                {
                $final = 32-$i;
                echo $final;
                }
        }
    exit;
}
公共功能测试()
{
$number=“8192”;

对于($i=1;$i,因为要比较值,只需更改if条件,所以模数运算符不会给出准确的结果,
以下是完整的答案:

public function test()
{
    $number = "8192";
    for ($i=1; $i<=32; $i++)
        {
            if($number == pow(2,$i))
                {
                    $final = 32-$i;
                    echo $final;
                    break;
                }
        }
    exit;
}
公共功能测试()
{
$number=“8192”;

对于($i=1;$ii)如果要在满足条件时停止,只需使用“break”在if语句中,如果要在array@Shan,你的意思是我需要使用Switch Case吗?@RizwanRanjha-不,
break
不限于Switch/Case语句,它结束当前
for
foreach
while
do while
Switch
的执行structure;因此它还将终止
for
循环尝试添加break;在:echo$final之后;只需将if条件更改为:$number==pow(2,$i),因为模运算符将在1到32的许多条件下为true