PHP函数不返回值
由于某些原因,我无法让我的函数返回字符串PHP函数不返回值,php,function,return,Php,Function,Return,由于某些原因,我无法让我的函数返回字符串 $password = crypt_password_input($password, ""); //Encrypt Password longer than 8 characters function crypt_password_input($inputPassword, $newPassword) { $passwordLength = strlen($inputPassword); if($passwordLength >
$password = crypt_password_input($password, "");
//Encrypt Password longer than 8 characters
function crypt_password_input($inputPassword, $newPassword)
{
$passwordLength = strlen($inputPassword);
if($passwordLength > 8){
$encryptString = substr($inputPassword, 0, 8);
$inputPassword = substr($inputPassword, 8);
$newPassword .= crypt($encryptString, "HIDDENSALT");
crypt_password_input($inputPassword, $newPassword);
}else{
$newPassword .= crypt($inputPassword, "HIDDENSALT");
echo "Final: " . $newPassword . "<br/>";
return $newPassword;
}
}
echo "Encrypted from the input: " . $password . "<br/>";
$password=crypt\u password\u输入($password,”);
//加密长度超过8个字符的密码
函数crypt\u password\u input($inputPassword,$newPassword)
{
$passwordLength=strlen($inputPassword);
如果($passwordLength>8){
$encryptString=substr($inputPassword,0,8);
$inputPassword=substr($inputPassword,8);
$newPassword.=crypt($encryptString,“hiddensate”);
密码输入($inputPassword,$newPassword);
}否则{
$newPassword.=crypt($inputPassword,“hiddensat”);
echo“Final:.$newPassword.”
;
返回$newPassword;
}
}
echo“从输入加密:”$暗语“
”;
这是此脚本的输出
最终版本:ltu1GUwy71wHkltVbYX1aNLfLYltEZ7Ww8GghfM从输入加密:在此条件块下,您没有
return
语句。我在那里又加了一句
if($passwordLength > 8)
{
$encryptString = substr($inputPassword, 0, 8);
$inputPassword = substr($inputPassword, 8);
$newPassword .= crypt($encryptString, "HIDDENSALT");
return crypt_password_input($inputPassword, $newPassword);
}
我不确定您的逻辑,但您的代码应该是这样的:
$password = crypt_password_input($password, "");
//Encrypt Password longer than 8 characters
function crypt_password_input($inputPassword, $newPassword)
{
$passwordLength = strlen($inputPassword);
if($passwordLength > 8)
{
$encryptString = substr($inputPassword, 0, 8);
$inputPassword = substr($inputPassword, 8);
$newPassword .= crypt($encryptString, "HIDDENSALT");
return crypt_password_input($inputPassword, $newPassword);
}
else
{
$newPassword .= crypt($inputPassword, "HIDDENSALT");
echo "Final: " . $newPassword . "<br/>";
return $newPassword;
}
}
echo "Encrypted from the input: " . $password . "<br/>";
$password=crypt\u password\u输入($password,”);
//加密长度超过8个字符的密码
函数crypt\u password\u input($inputPassword,$newPassword)
{
$passwordLength=strlen($inputPassword);
如果($passwordLength>8)
{
$encryptString=substr($inputPassword,0,8);
$inputPassword=substr($inputPassword,8);
$newPassword.=crypt($encryptString,“hiddensate”);
返回密码输入($inputPassword,$newPassword);
}
其他的
{
$newPassword.=crypt($inputPassword,“hiddensat”);
echo“Final:.$newPassword.”
;
返回$newPassword;
}
}
echo“从输入加密:”$暗语“
”;
在代码中,递归调用输入,但不返回任何内容,因此,如果密码长度超过8个字符,它将失败。实际上,您返回的字符串是
ltu1GUwy71wHkltVbYX1aNLfLYltEZ7Ww8GghfM
他不希望在密码长度达到8个或更多字符之前返回。是的,我确实有$password=crypt\u password\u input($password,”);出于某种原因,我没有写在这里,哈哈。我确实看到我需要真实条件下的回报。谢谢各位:D