#やりたいこと
同じ名前のレコードのデータがあったら、それぞれデータが異なるので復数欲しい
※名前が昇順である前提
<?php
$data = [
['name' => '田中', '国語の点数' => 777],
['name' => '渡部', '国語の点数' => 62],
['name' => '品川', '国語の点数' => 23],
['name' => '品川', '国語の点数' => 4343],
['name' => '滝谷', '国語の点数' => 93],
['name' => '川原田','国語の点数' => 55],
['name' => '一色', '国語の点数' => 27],
['name' => '一色', '国語の点数' => 89],
['name' => '高橋', '国語の点数' => 555],
['name' => '高橋', '国語の点数' => 9999],
];
foreach ($data as $cnt => $row) {
if($cnt === 0){
$key = $row['name'];
$store[] = $row['国語の点数'];
}
if($key === $row['name']){
$key = $row['name'];
$store[] = $row['国語の点数'];
}else{
$result[$key] = implode(',', array_unique($store));
$key = $row['name'];
$store = [];
$store[] = $row['国語の点数'];
}
}
$result[$row['name']] = implode(',', array_unique($store));
var_dump($result);
#結果
array(7) {
["田中"]=>
string(3) "777"
["渡部"]=>
string(2) "62"
["品川"]=>
string(7) "23,4343"
["滝谷"]=>
string(2) "93"
["川原田"]=>
string(2) "55"
["一色"]=>
string(5) "27,89"
["高橋"]=>
string(8) "555,9999"
}