php - 使用 while 创建多维数组
问题描述
我正在尝试找出处理此问题的最佳方法。while 循环将所有数据放入一个数组中,太棒了!但是,我想将一组结果分组到一个数组中并将其放回 $row 数组中。我不知道该怎么做。
原因是我想运行一个函数,如果分组的项目有一个值,它将显示图标,并且我认为对它们进行分组会更容易使用。
这就是我现在所拥有的,它会抛出一个错误Too few arguments to function icon()
,我明白它为什么会抛出这个错误。
function icon($pump, $product) {
if ($pump == 'Yes') {
return "<img src='.." . IMAGES . "icons/icon-pump.png' alt='Trailer has a Pump' class='trailer-icon'>";
}
if ($product == 'Yes') {
return "<img src='.." . IMAGES . "icons/icon-gas.png' alt='Trailer has Product' class='trailer-icon'>";
}
}
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$features = array(
'pump' => $row['trailer_pump'],
'product' => $row['trailer_product']
);
$data = "<tr>\r\n<td><a href='view-trailer.php?id=" . $row['trailer_id'] . "'>" . $row['trailer_number'] . "</a></td>\r\n"
. "<td>" . $row['first_name'] . " " . $row['last_name'] . "</td>\r\n"
. "<td>" . icon($features) . "</td>"
. "<td>" . $row['status_name'] . "</td>\r\n"
. "<td><a href='https://www.google.com/maps/search/?api=1&query=" . $row['trailer_lat'] . "," . $row['trailer_long'] . "' target='_blank'>View Map</a></td>\r\n"
. "</tr>\r\n";
print $data;
}
} catch (PDOException $e) {
print $e->getMessage();
}
更新 我正在寻找的结果是:
Array
(
[id] => 1
[trailer_number] => 609
[trailer_annual] => 0000-00-00
[trailer_fiveyear] => 0000-00-00
[trailer_compartments] => 4
[features] => array (
[pump] => Yes
[product] =>
)
[trailer_compart1] => 3000
[trailer_compart2] => 2000
[trailer_compart3] => 3000
[trailer_compart4] => 2000
[trailer_compart5] =>
)
解决方案
我认为您正在寻找的只是
$row['features'] = array(
'pump' => $row['trailer_pump'],
'product' => $row['trailer_product']
);
或者如果你想保持$feautres
它已经是这样
$row['features'] = $features;
推荐阅读
- jira - 附在 Jira rest API 上的 webm 格式不在问题附件中预览
- reactjs - 拖动 tomkp/react-split-pane 的调整大小后无法设置 defaultSize
- node.js - CERT_HAS_EXPIRED - 在从节点 js 到 php 的 post 请求中
- html - 表格主体元素与标题元素重叠
- javascript - 在构建基于 JavaScript 的 Web 浏览器时减少 CPU 使用率的方法
- reactjs - Symfony,React:生产服务器上的 api/var/log/prod.log 为空
- python - 如何根据另一个值列表拆分列表?
- notepad++ - 替换仅包含特定字符的文本 Notepad++
- docker - 我 Docker 是否 CMD 指令添加了一层?
- python - 使用 SharedMemoryManager 在进程之间进行通信时出现 EOFError