dongshan7060 2016-04-10 18:38
浏览 65
已采纳

将数组转换回变量PHP

I have put 17 variables into an array, and then ran mysqli_real_escape_string on them, as it's much easier than having to do it for each variable individually.

$rescape = array($username, $fname, $lname, $nationality, $landline, $mobile, $email, $nationalid, $passport, $dob, $street, $towncity, $postcode, $country, $country, $favourite, $rentpw);
$rescape = array_map('mysqli_real_escape_string', $rescape);

If I understand correctly, now the escaped strings are all stored inside the array in $rescape.

What is the 'shortest' method of getting them back into individual variables?

  • 写回答

1条回答 默认 最新

  • dtmm0148603 2016-04-10 18:42
    关注

    You can do that with list:

    list($username, $fname, $lname, $nationality, $landline, $mobile, $email, $nationalid, $passport, $dob, $street, $towncity, $postcode, $country, $country, $favourite, $rentpw) = $rescape;
    

    You can even use extract if you store $rescape as a key/value pair.


    Be aware that mysqli_real_escape_string needs as first parameter the link of the connection. Something like this:

    $rescape = array_map(function($e) use ($connection) {
        return mysqli_real_escape_string($connection, $e);
    }, $rescape);
    

    or, if you're using mysqli in Object oriented style, just

    $rescape = array_map(array($mysqli, 'real_escape_string'), $rescape);
    

    should do the trick.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?