php - 在 PHP 中多次返回
问题描述
所以我试图在 foreach 循环中返回多个值。代码如下所示:
$result = DB::query("SELECT * FROM products WHERE username=%s", $user['username']);
foreach ($result as $results) {
return response()->json(["success" => true, "list" => [["name" => $results['name'], "key" => $results['key'], "expire" => $results['expire']]]]);
}
我正在使用 Meekrodb,所以你知道。所以我基本上有一个包含 x 行数的数据库。根据注册人的用户名,每一行都有不同的用户名。所以它会检查用户名是否匹配。它适用于第一行,但如果我有不止一行,它不想返回第二行,只返回第一行。
所以是的,而不是返回代码:
{"success":true,"list" [{"name":"whatever","key":"123","expire":"Never"}]}
尽管多行具有相同的用户名。
它应该返回如下内容:
{"success":true,"list" [{"name":"whatever","key":"123","expire":"Never"}]}
{"success":true,"list" [{"name":"whatever2","key":"456","expire":"Tomorrow"}]}
这可能看起来有点令人困惑,但我真正想要的只是返回多个值或朝那个方向的东西。
解决方案
构建并返回数组,如下所示
$result = DB::query("SELECT * FROM products WHERE username=%s", $user['username']);
foreach ($result as $results) {
$data = array();
foreach ($result as $results) {
$data["success"] = true;
$data["list"]['name'] = $results['name'];
$data["list"]['key'] = $results['key'];
$data["list"]['key'] = $results['key']
$data["list"]['expire'] = $results['expire']
//return response()->json(["success" => true, "list" => [["name" => $results['name'], "key" => $results['key'], "" => $results['expire']]]]);
}
return echo json_encode($data);
推荐阅读
- ajax - 插入后客户端数据表不刷新
- python - 从 Python 2.7 中的文本文件中提取单行中包含的 N 个 JSON 对象?
- python - 如何访问嵌套 json 对象的父级
- macos - 从 Mac 重启进入 Linux 的命令?
- sql-server - 数据文件大小保持不变,而日志文件大小正在增加
- azure-devops - 查看 Release 的 ArtifactsDirectory?
- reactjs - Storybook 全局 Scss 变量
- javascript -
- specs2 - 如何使用扩展 BeforeAfterAll 的特征来堆叠行为
- xcode - Xcode Dual git repos