我的表格中包含name
和id
的商品。这里有一些create table
代码:
CREATE TABLE items (
id INT,
name TEXT
);
INSERT INTO items VALUES
(1, "Flute"),
(2, "Guitar"),
(4, "Saxophone"),
(7, "Tuba"),
(5, "Xylophone"),
(14, "Triangle");
我想对此抓取所有项目执行查询:
$stmt = $db->prepare("
SELECT id, name FROM items
ORDER BY id ASC
");
$stmt->execute();
$items = $stmt->fetchAll(PDO::FETCH_ASSOC);
这会创建一个如下所示的数组:
Array (
[0] => Array ([id] => 1, [name] => "Flute"),
[1] => Array ([id] => 2, [name] => "Guitar"),
...
[5] => Array ([id] => 14, [name] => "Triangle")
)
我想通过键id
访问此数组。类似的东西:
echo $array["1"]; // "Flute"
echo $array["14"]; // "Triangle"
echo $array["7"]; // "Tuba"
不一定与上面完全相同,但我可以使用键name
从数组中打印id
。这样的事情可能吗?格式化先前创建的数组。
答案 0 :(得分:1)
您需要创建一个新数组并迭代旧数组。
类似的东西:
$newArray = array();
foreach ($array as $item)
$newArray[$item['id']] = $item['name']