【发布时间】:2021-09-06 10:59:33
【问题描述】:
我正在构建一个基于 PHP 的 Web 应用程序,该应用程序使用 AJAX 调用 CRUD。在设计 FETCH.php 页面时,我在 PHP 中循环和赋值给关联数组时遇到了两种情况。我无法理解这两种类型的值分配之间的使用需求和区别
METHOD #1(此方法将提供纯 JSON 格式(包含该特定记录),并且不需要在 JQuery 中循环,并且可以通过 JQuery 对象表示法将值直接分配给 DOM 元素。我使用此方法在调用特定记录时从数据库中调用表单元素中的值)。
$output = [];
while ($Datarows = $stmt->fetch()) {
$output['app_id'] = $Datarows['app_id']; // FOCUS HERE PLEASE.
}
echo json_encode($output, JSON_NUMERIC_CHECK);
METHOD #2 (在浏览器 NETWORK 选项卡中检查时,此方法将输出 JSON ARRAY。该数组需要在 JQuery 中循环使用。我使用此方法创建多个依赖下拉框水平。)
$output = [];
while ($Datarows = $stmt->fetch()) {
$app_id = $Datarows['app_id'];
$output[] = ['app_id' => $app_id];
}
echo json_encode($output,JSON_NUMERIC_CHECK);
我无法理解这两种方法之间的确切区别。请详细说明。
【问题讨论】:
-
欢迎来到 Stack Overflow。第一个比第二个更正确。请参阅php.net/manual/en/language.types.array.php 中的示例同时阅读 cmets。请注意,这是一个客观的问题,可能会被否决。 stackoverflow.com/help/dont-ask
-
我怎样才能修改它以涉及研究意图。谢谢
-
您应该编辑您的帖子。然后您可以添加您的意图。
-
方法#1 每次循环都会覆盖
$output['app_id'],所以即使你有100 个$Datarows,$output也只有一个元素。那么真正的问题是什么? -
@AbraCadaver 你进一步阐明了我的概念。你说的对。问题是我无法理解这两种方法之间的输出差异。现在我很清楚了。方法 1 仅在我需要由特定 ID 调用的特定记录时才有用。方法 2 将为我提供我可以进一步操作的所有数据。如果我是对的,请支持我的评论。谢谢
标签: javascript php jquery arrays associative-array