douba2011 2013-05-21 14:44
浏览 51

在if()之后为php中的大量变量赋值

Do you know a better way to do thing when it comes to assigning values to a large number of variables after an if?

In my case it like this:

$akeType = array_key_exists('type',$handle);
$akeParent = array_key_exists('parent',$handle);
$akeUserName = array_key_exists('userName',$handle);
$akeUserId = array_key_exists('userId',$handle);
$akeCountryCode = array_key_exists('userId',$handle);

if ( $akeType && $akeParent && $akeUserName && $akeUserId & $akeCountryCode ) {
$listType   = $handle['type'];
$listParent = $handle['parent'];
$listUserName = $handle['userName'];
$listUserId = $handle['userId'];
$foo = $_POST['foo'];
$bar = $_POST['bar'];
$listCountryCode = $handle['countryCode']; // Is there a way to clean up this part? The assignments to variables.
  • 写回答

3条回答 默认 最新

  • douqin0676 2013-05-21 14:51
    关注

    You can do this with the somewhat more obscure code following:

    $keys= array('type','parent','userName', 'userId');
    foreach($keys as $key) {
        $nametoset= "list".ucfirst($key);
        $$nametoset= $handle[$key];
    }
    

    $$nametoset refers to the variable named like the string $nametoset. Similar code may be used for the $ake... variables.

    评论

报告相同问题?

悬赏问题

  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了
  • ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统
  • ¥188 需要修改一个工具,懂得汇编的人来。
  • ¥15 livecharts wpf piechart 属性
  • ¥20 数学建模,尽量用matlab回答,论文格式
  • ¥15 昨天挂载了一下u盘,然后拔了