如何在php中访问foreach循环之外的多个变量
Posted
技术标签:
【中文标题】如何在php中访问foreach循环之外的多个变量【英文标题】:How to access multiple variables outside foreach loop in php 【发布时间】: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;
?
【参考方案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】:我认为您忘记将用户数据存储在变量“输出”中。
【讨论】:
以上是关于如何在php中访问foreach循环之外的多个变量的主要内容,如果未能解决你的问题,请参考以下文章
我们如何在 laravel php 刀片模板中为 foreach 循环定义循环变量