我是PHP的新手,我正在使用PHP从外部JSON文件中读取数据,我希望将相同的值分组(类似于MySQL中的分组依据)。我已经尝试了几种方法和研究,但无法获得预期的结果,请帮助。
这是我的JSON数据:
[{"name":"jonh","school":"Barak Primary school","class":"3rd grade","year":"2019"},{"name":"Danny","school":"Barak Primary school","class":"4rd grade","year":"2019"},{"name":"Ben","school":"Mara Primary school","class":"3rd grade","year":"2019"}{"name":"West","school":"Mara Primary school","class":"3rd grade","year":"2019"}]
这是我的PHP
$json = file_get_contents('https://xxxx.json');//get data from url
$posts = json_decode($json,true); // put data into variable
foreach ($posts as $val) {
echo '<p>' . $val[school] . '</p>';
}
这是我得到的结果:
Barak Primary School
Barak Primary School
Mara Primary School
Mara Primary School
但是我想要这样的结果:
Barak Primary School
Mara Primary School
因此,在这种情况下,它将相同的值归为一,您的所有建议都会受到赞赏。
您可以使用array_column
从array_column
中提取school
值,然后在JSON
中仅查找不同的值。然后,您可以遍历这些值:
array_unique
输出:
array_unique
$schools = array_unique(array_column($posts, 'school'));
foreach ($schools as $school) {
echo '<p>' . $school . '</p>';
}