函数不赋予变量值

时间:2016-11-29 10:39:34

标签: php

以下函数在我尝试在函数之后回显$oplossing之后给出了下一个错误:

  

未定义的变量:oplossing

我尝试过多种方法,但不知何故,它不会将函数内部的变量的valua带到php文档的其余部分。我对编程很陌生,所以这可能很明显,但我不知道如何做到这一点。我该如何解决这个问题?

 $moeilijkheidsgraad = $_POST["moeilijkheidsgraad"];
$waarde = $_POST["waarde"];

function WaardeGetal ($moeilijkheidsgraad, $waarde)
{
if ( $moeilijkheidsgraad == "makkelijk" ){      //makkelijk
    if ( $waarde == "dechex" ){                 //van decimaal naar hexadecimaal
        $getal = rand(0,32);                    //willekeurig getal tussen 0 en 50
        $oplossing = dechex($getal);
        $oplossing = strtoupper($oplossing);    //omzetten van decimale getal naar hexadecimaal getal
    }                           


    elseif ( $waarde == "hexdec") {             //hexadecimaal naar decimaal
        $oplossing = rand(0,32);                //willekeurig getal tussen 0 en 50
        $getal = dechex($oplossing);
        $getal = strtoupper($getal);            //omzetten van decimale getal naar hexadecimaal getal
    }

    elseif ($waarde == "decbin") {
        $getal = rand(0,16);
        $oplossing = decbin($getal);
    }

    elseif ($waarde == "hexbin"){
        $getal = rand(0,16);
        $getal = dechex($getal);
        $oplossing = base_convert($getal,16,2);
        $getal = strtoupper($getal);
        }

    elseif ($waarde == "binhex" ) {
        $oplossing = rand(0,16);
        $oplossing = dechex($oplossing);
        $getal = base_convert($oplossing,16,2);
        $oplossing = strtoupper($oplossing);
        $aantal = 0;
        }

    else {
        $oplossing = rand(0,16);
        $getal = decbin($oplossing);
    }
    }

else {                                          //moeilijk
    if ( $waarde == "dechex" ){                 //van decimaal naar hexadecimaal
        $getal = rand(32,256);                  //willekeurig getal tussen 0 en 50
        $oplossing = dechex($getal);            //omzetten van decimale getal naar hexadecimaal getal
        $oplossing = strtoupper($oplossing);
        }

  elseif  ( $waarde =="hexdec" ){               //hexadecimaal naar decimaal
        $oplossing = rand(32,256);              //willekeurig getal tussen 0 en 50
        $getal = dechex($oplossing);            //omzetten van decimale getal naar hexadecimaal getal
        $getal = strtoupper($getal);    
    }

    elseif ($waarde == "decbin") {
        $getal = rand(16,256);
        $oplossing = decbin($getal);
    }

    elseif ($waarde == "hexbin"){
        $getal = rand(16,256);
        $getal = dechex($getal);
        $oplossing = base_convert($getal,16,2);
        $getal = strtoupper($getal);
        }

    elseif ($waarde == "binhex" ) {
        $oplossing = rand(16,256);
        $oplossing = dechex($oplossing);
        $getal = base_convert($oplossing,16,2);
        $oplossing = strtoupper($oplossing);
        }

    else {
        $oplossing = rand(16,256);
        $getal = decbin(oplossing);
    }
 }
 return
 }

WaardeGetal($moeilijkheidsgraad, $waarde);

1 个答案:

答案 0 :(得分:0)

如果您在功能之前声明$waarde$oplossing,然后在功能中调用global $waarde, $oplossing

这是因为函数内部的变量具有局部范围而不是全局变量