Php 按名称和年龄对数组进行分组
你能帮我吗,我有一个PHP,我从中得到一个数组。但我想改变它的输出,并能够按姓名和年龄对它们进行分组 这是我的PHPPhp 按名称和年龄对数组进行分组,php,arrays,json,Php,Arrays,Json,你能帮我吗,我有一个PHP,我从中得到一个数组。但我想改变它的输出,并能够按姓名和年龄对它们进行分组 这是我的PHP <?php $name = array(); $age = array(); $sql = $conn->runQuery("SELECT * FROM staff"); $sql->execute(); while ($row = $sql->fetch(PDO::FETCH_A
<?php
$name = array();
$age = array();
$sql = $conn->runQuery("SELECT * FROM staff");
$sql->execute();
while ($row = $sql->fetch(PDO::FETCH_ASSOC))
{
$name[] = $row['name'];
$age[] = $row['age'];
}
$posts = [
"name" => $name,
"age" => $age,
];
echo json_encode($posts, JSON_PRETTY_PRINT);
?>
但是,我希望数组返回如下
[
{
"name": Erik,
"age": 18
},
{
"name": Rose,
"age": 28
}
]
你能帮我一下吗,我该如何制作这种数组?我将对这个脚本进行如下调整:
$sql = $conn->runQuery("SELECT * FROM staff");
$sql->execute();
$people = [];
while ($row = $sql->fetch(PDO::FETCH_ASSOC))
{
$people[] = ['name' => $row['name'], 'age' => $row['age']];
}
echo json_encode($people, JSON_PRETTY_PRINT);
或使用:
谢谢,你的评论对我帮助很大。
$sql = $conn->runQuery("SELECT * FROM staff");
$sql->execute();
$people = [];
while ($row = $sql->fetch(PDO::FETCH_ASSOC))
{
$people[] = ['name' => $row['name'], 'age' => $row['age']];
}
echo json_encode($people, JSON_PRETTY_PRINT);
$qry = $conn->prepare("SELECT field1, field2 FROM table");
$qry->execute();
$data = $qry->fetchAll(PDO::FETCH_ASSOC);
$json = json_encode($data);