早上好! 我有以下数组
array (size=3)
0 =>
object(stdClass)[6]
public 'id' => int 1
public 'disciplina_id' => int 3
public 'nota' => int 4
1 =>
object(stdClass)[21]
public 'id' => int 2
public 'disciplina_id' => int 1
public 'nota' => int 8
2 =>
object(stdClass)[24]
public 'id' => int 3
public 'disciplina_id' => int 3
public 'nota' => int 9
我想在“ discipline_id”列中“添加”具有相同值的项目 由于课程可以包含1个或N个注释,因此每当添加字段时,都会创建一个notaX字段以包含新注释。例如:note,note1,note2,note3 ...
我该怎么做?老实说,我很卷曲,我考虑过使用方法(array_map,filter),但是在这个问题上我已经损失了超过2天。
有人可以向我解释逻辑吗?
答案 0 :(得分:0)
这是SQL查询的简单问题-如果可以,请按列分组-尝试更改它。 在PHP中,我将使用make数组,将其纪律ID和nota => nota值数组的值作为键。喜欢:
SELECT *
FROM items
, inputs
WHERE inputs.item = items.item_id
AND inputs.spec='color'
AND inputs.input_value = 'red'
AND inputs.spec = 'size'
AND inputs.input_value='38'
当您使用json_decode()时,可以添加标志并获取数组而不是对象
$result = [];
for ($i=0; $i < count($data); $i++) {
$disciplina_id = $data[$i]['disciplina_id'];
$result[$disciplina_id][] = $data[$i]['nota'];
}