【发布时间】:2021-01-23 07:56:12
【问题描述】:
我已经用 PHP 和 MySql 查询所有特定口味的 cookie 以获取一组 cookie。查询返回每种口味的饼干数量。它只返回数字,就好像我这样做 ->fetch() 有不必要的数组嵌套。
代码如下:
$cookies = array();
$cookies[] = 'Chocolate';
$cookies[] = 'Vanilla';
$cookies[] = 'Stracciatella';
$results = [];
foreach ($cookies as $cookie) {
$results[] = $this->getEntityManager()->getConnection()->executeQuery(
"SELECT COUNT(*) FROM sweets WHERE cookies LIKE :cookies",
['cookies' => '%"' . $cookie . '"%']
)->fetchColumn();
}
在这里我得到了类似的结果:
[
8,
4,
1
]
现在,我想将每个值分配给它的 cookie,这样我就可以获得干净的数组键名和结果,例如:
这将是理想的输出:
array('Chocolate' => '8', 'Vanilla' => '4', 'Stracciatella' => '1');
所以我尝试了类似的东西:
$cookieCount = [];
foreach ($results as $key => $value) {
$cookieCount['Chocolate'] = $value;
$cookieCount['Vanilla'] = $value;
$cookieCount['Stracciatella'] = $value;
}
return $cookieCount;
有人可以帮忙吗?谢谢
【问题讨论】:
-
$results[$cookie] = ... -
“注意:未定义索引:巧克力”@raina77ow
标签: php mysql arrays multidimensional-array