【问题标题】:How to access multiple variables outside foreach loop in php如何在php中访问foreach循环之外的多个变量
【发布时间】:2021-01-21 16:16:12
【问题描述】:

我不是 php 专业人士,并且已经探索了不同的在线搜索论坛,但找不到任何合适的答案,这就是为什么在这里发布我的问题。

功能一:查询数据库并在foreach循环中定义变量如下:

function myFunction(){
 $dbinfo = get_db_info();
 $users = $dbinfo->get_results("
    SELECT 
       Email,
       ID,
       Name,
       Address
        FROM Database_table
        WHERE ID = 5
    ");
    
    if($users) {
        $output = '';
        foreach($users as $user) {
            $ID = $user->ID;
            $dname = $user->Name;
            $email = $user->Email;
            $address = $user->Address;
        }else{
            $output .= 'No user found';
        }

    }//endif
    return $output;
}

函数二:现在我想在另一个函数中获取这些变量的值,如下所示:

function dislayData(){

    $values = myFunction();
    echo $values=>$email;

}

但它不起作用。看来我可能需要将 foreach 循环中的变量包装到一个数组中。我不明白该怎么做。

我们将不胜感激。

提前致谢。

巴卡尔

【问题讨论】:

  • 什么是echo $values=>$email;?

标签: php jquery sql variables


【解决方案1】:
function myFunction(){
    $dbinfo = get_db_info();
    $users = $dbinfo->get_results("SELECT Email, ID, Name, Address
                                    FROM Database_table
                                    WHERE ID = 5");
    
    if($users) {
        $arrOutput = [];
        foreach($users as $user) {
            $arrOutput[]    =   [
                'ID'    =>  $user->ID,
                'dname' =>  $user->Name,
                'email' =>  $user->Email,
                'address'   =>  $user->Address
            ];
        }
        return $arrOutput;
    }
    else{
        return false;
    }
}

function dislayData(){

    $values = myFunction();

    if($values !== false){
        foreach($values as $user){
            // Now you can access property of each uesr
            echo $user['email'];
        }
    }
}

【讨论】:

    【解决方案2】:

    我认为您忘记将用户数据存储在变量“输出”中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 2021-06-01
      • 1970-01-01
      • 2017-08-03
      相关资源
      最近更新 更多