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.

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

报告相同问题?

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助