PHP函数不返回值

2022-01-19 00:00:00 function return php

由于某种原因,我无法让我的函数返回一个字符串...

For some reason I can not get my function to return a string...

$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/>";

这是这个脚本的输出...

This is the output of this script...

决赛:ltu1GUwy71wHkltVbYX1aNLfLYltEZ7Ww8GghfM
从输入加密:

Final: ltu1GUwy71wHkltVbYX1aNLfLYltEZ7Ww8GghfM
Encrypted from the input:

推荐答案

你在这个条件块下没有 return 语句.我已经在那里添加了返回.

you have no return statement under this condition block. i have added return there.

if($passwordLength > 8)
{
    $encryptString = substr($inputPassword, 0, 8);
    $inputPassword = substr($inputPassword, 8);
    $newPassword .= crypt($encryptString, "HIDDENSALT");
    return crypt_password_input($inputPassword, $newPassword);
}

相关文章