Я получаю два массива JSON, которые мне нужно объединять каждый раз, когда цикл while запускает выборку из моей базы данных. Это результат массива структуры, который я получаю на данный момент:
{id=1,cid=1,fname=Lorna,vorname=King,gender=female,dob=1985,company=helsana,monthly_amount=150},
{id=2,cid=1,fname=Brian,vorname=King,gender=male,dob=2007,company=helsana,monthly_amount=100}
Мне нужно, чтобы это выглядело так:
{ 1={id:1, cid:1 fname=Lorna, vorname:King, gender:female, dob:1985, company:helsana, monthly_amount:100}, 2={id:2, cid:1 fname=Brian, vorname:King, gender:male, dob:2005, company:helsana, monthly_amount:150} }
Чтобы было проще выбирать значения из массива.
Вот код PHP, который я использую:
<?php
include_once "conn.php";
$show= $mysqli->query("SELECT id,cid,fname,vorname,gender,dob,company,monthly_amount FROM family where cid = '1' ");
$arr = array();
while($row = $show->fetch_assoc()){
$arr[] = $row;
}
$json_response = json_encode($arr, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP);
echo $str = substr($json_response, 1,-1);
?>
Я новичок в этом, пожалуйста, кто-нибудь, помогите мне.
Вы можете просто форсировать его, когда создаете массив в PHP:
$arr = array();
$index = 1; // Start the index where you want the count
while($row = $show->fetch_assoc()){
$arr[$index++] = $row;
}
Или, если вы хотите, чтобы он совпадал с идентификатором строки:
$arr = array();
while($row = $show->fetch_assoc()){
$arr[$row['id']] = $row;
}
Других решений пока нет …