Я нуждаюсь в том, чтобы сформировать json со следующей структурой
{"1": {
"44444": "2",
"54": "1",
"472": "1"
},
"3": {
"33333": "2"
},
"31089": {
"888": "2",
"6666": "1"
} }
где индексы "1", "3" и "31089" я получаю от консультации с пользователями и "44444": "2" получаются от другой консультации и - no_evento и доли участия.
У меня есть проблемы несмотря на то, что это формирую и то, чего я добился, я сделал со следующим кодом:
foreach ($n_usuarios as $usrs){
$idu_u = $usrs["id_usuario"];
array_push($participaciones, $idu_u);
foreach ($n_participaciones as $part){
$idu_p = $part["id_usuario"];
if ($idu_u != $idu_p) {
$temp[$part["id_evento"]] = $part["id_participacion"];
} else {
array_push($participaciones, $temp);
$temp = "";
}
}}
то, что заканчивается мне следующим:
1
{ 6347: "1", 6348: "1", 6349: "1", 6352: "1", 6353: "1", 6354: "1", 6356: "1", 6374: "1", 6376: "1", 6377: "1", 25271: "1", 25272: "1", 25273: "1", 25274: "1" }
Кто-то мог говорить мне, как я формирую мой json
Очень fГЎcil сначала создай твое наводнение array обычно как любой другой array.
, Так как ты считал это полным с данными, которых ты желаешь только, применяет функцию json_encode
$n_usuarios = [1,3,31089];
$n_participaciones = [44444=>2,54=>1,472=>1];
$json = [];
foreach ($n_usuarios as $usrs){
$idu_u = $usrs;
$json[$idu_u] = [];
/*Aqui deverias hacer una consulta para que solo te traiga las participaciones de ese usuario
$n_participaciones = $model->get("Select no_evento,participaciones where id_usuario=$idu_u ");
*/
foreach ($n_participaciones as $key=>$part){
$json[$idu_u][]= [$key=>$part];
}
}
echo json_encode($json);
И я заношу в список уже ты считаешь созданным твой json начиная с твоего array
оно мне кажется чем-либо подобным:
{
"1":[
{"44444":2},
{"54":1},
{"472":1}
],
"3":[
{"44444":2},
{"54":1},
{"472":1}
],
"31089":[
{"44444":2},
{"54":1},
{"472":1}
]
}
Попытайся с этим cГіdigo, я объясняю тебе; ты не нуждаешься array_push, если ты не нуждаешься в стоимости возврата ее funciГіn, и в самом деле он больше rГЎpido видит: https://www.php.net / учебник / быть / function.array-push.php
и у тебя есть ошибка здесь:
if ($idu_u != $idu_p) {
$temp[$part["id_evento"]] = $part["id_participacion"];
} else {
array_push($participaciones, $temp);
$temp = "";
}
то, что ты делаешь aquГ - он состоит в том, чтобы сравнивать они пойдите двух консультаций, и если это различные , ты распределяешь это $temp
, и если они равны помещаешь $temp
в договоренность $participaciones
, сказанные это можешь уменьшать ты cГіdigo asГ - и возможно asГ - я ты функционировал:
foreach ($n_usuarios as $usrs){
$idu_u = $usrs["id_usuario"];
foreach ($n_participaciones as $part){
$idu_p = $part["id_usuario"];
if ($idu_u == $idu_p) { // evaluamos si el id es igual
// y si es verdadero introducimos asi al array $participaciones
$participaciones[$idu_u][$part["id_evento"]]=$part["id_participacion"];
}
}}
// por ultimo usas json_enconde() para darle el formato de json al arreglo
echo json_encode($participaciones);