#php
#php
Вопрос:
У меня есть массив с дублированными номерами мобильных телефонов с соответствующими значениями, я хочу объединить эти номера мобильных телефонов и с соответствующими объектами
и вот фактический синтаксис, который я сделал
foreach($char2['flowers_details'] as $flowers){
foreach($array as $flowersd){
if (in_array($flowers['flower_id'], $flowersd['flower_id'])){
$details[] = array('mobile'=>$flowersd['mobile'],'flower_name'=>$flowers['flower_name'],'flower_price'=>$flowers['flower_price']);
}
}
}
echo json_encode($details);
Вот ответ
[
{
"mobile": "7799124599",
"flower_name": "Merabel ",
"flower_price": "20"
},
{
"mobile": "8008118599",
"flower_name": "Merabel ",
"flower_price": "20"
},
{
"mobile": "8008118599",
"flower_name": "San maggi ",
"flower_price": "10"
},
{
"mobile": "7799124599",
"flower_name": "Mango yellow ",
"flower_price": "50"
}]
это не идеальный формат
, и я пробовал этот синтаксис, хотя я не получаю точный форматированный массив
foreach($char2['flowers_details'] as $flowers){
foreach($array as $flowersd){
$mobile = array('mobile'=>$flowersd['mobile']);
if (in_array($flowers['flower_id'], $flowersd['flower_id'])){
$detail[] = array('flower_name'=>$flowers['flower_name'],'flower_price'=>$flowers['flower_price']);
}
$details = array_merge($mobile,$detail);
}
}
echo json_encode($detail);
Итак, каким образом я должен написать синтаксис, чтобы получить идеальный формат массива
с отображением одного числа и других следующих значений
Фактический формат, который я тоже хочу показать, это
[
[
{
"mobile": "7799124599"
},
{
"flower_name": "Merabel ",
"flower_price": "20"
},
{
"flower_name": "Mango yellow ",
"flower_price": "50"
}
],
[
{
"mobile": "8008118599"
},
{
"flower_name": "Merabel ",
"flower_price": "20"
},
{
"flower_name": "San maggi ",
"flower_price": "10"
}
]
]
Спасибо
Комментарии:
1. Можете ли вы показать нам идеальный формат вашего выходного массива?
2. Было бы полезно, если бы вы рассказали / показали нам, какой, по вашему мнению, идеальный формат , а также показали, как выглядит входной массив, если сможете
Ответ №1:
Вы должны изменить свой код назначения, как показано ниже:-
$details[$flowersd['mobile']][] = array('mobile'=>$flowersd['mobile'],'flower_name'=>$flowers['flower_name'],'flower_price'=>$flowers['flower_price']);
Приведенный выше код создаст номера мобильных телефонов в качестве ключей, поэтому, если вы этого не хотите, сделайте это раньше json_encode()
:-
$details = array_values($details); //will re-indexed array keys to 0,1,2,....