以下函数在我尝试在函数之后回显$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);
答案 0 :(得分:0)
如果您在功能之前声明$waarde
和$oplossing
,然后在功能中调用global $waarde, $oplossing
。
这是因为函数内部的变量具有局部范围而不是全局变量