|
|
|
| Есть Json. Записей 10 тысяч
После
$filem=json_decode($file, true);
|
$filem иеет вид:
[{"aie_ita":"32K","ai_io":null,"de_ata":"SY","dep_a_ao":null,"arrivalata":"GE","ar_aao":null,"cdesare":false,"trars":0,"anes":["39","320"]},
{"aie_ita":"36K","ai_io":null,"de_ata":"FY","dep_a_ao":null,"arrivalata":"GE","ar_aao":null,"cdesare":false,"trars":0,"anes":["39","320"]},
{"aie_ita":"38K","ai_io":null,"de_ata":"GY","dep_a_ao":null,"arrivalata":"GA","ar_aao":null,"cdesare":false,"trars":0,"anes":["39","320","345"]},]
как записать это в базу данных, при условии что anes массив? | |
|
|
|
|
|
|
|
для: Port_Artur3
(15.02.2015 в 14:02)
| | Как вообще вытащить данные из записей в переменные, в базу-то я уже запишу. Не понимаю как это сделать. | |
|
|
|
|
|
|
|
для: Port_Artur3
(15.02.2015 в 16:03)
| | Как вытащить значения с отображением на экране?
Помогите пожалуйста. | |
|
|
|
|
|
|
|
для: Port_Artur3
(15.02.2015 в 18:18)
| | Прошу перенести тему в раздел php | |
|
|
|
|
|
|
|
для: Port_Artur3
(15.02.2015 в 14:02)
| | не может быть, чтобы после
$filem=json_decode($file, true);
| $filem имело такой вид.
Потому что это и есть JSON.
Покажите исходные данные и код, который к такому приводит. | |
|
|
|
|
|
|
|
для: Sfinks
(15.02.2015 в 21:31)
| | Да, вы правы, это я ошибся.
Как из него вытащить данные в цикле в переменные, чтобы вывести на экран в нужных местах? | |
|
|
|
|
|
|
|
для: Port_Artur3
(15.02.2015 в 21:47)
| | Странный вопрос.
Извлечь данные можно сотней способов.
Как и вывести.
Тем более, в нужных местах.
Как вариант вот один из способов:
<?php
$var = '
[{"aie_ita":"32K","ai_io":null,"de_ata":"SY","dep_a_ao":null,"arrivalata":"GE","ar_aao":null,"cdesare":false,"trars":0,"anes":["39","320"]},
{"aie_ita":"36K","ai_io":null,"de_ata":"FY","dep_a_ao":null,"arrivalata":"GE","ar_aao":null,"cdesare":false,"trars":0,"anes":["39","320"]},
{"aie_ita":"38K","ai_io":null,"de_ata":"GY","dep_a_ao":null,"arrivalata":"GA","ar_aao":null,"cdesare":false,"trars":0,"anes":["39","320","345"]}]
';
$arr = json_decode($var, true);
foreach($arr as $sub_arr){
extract($sub_arr);
$anes = implode(',', $anes);
echo "
'aie_ita' => $aie_ita
'ai_io' => $ai_io
'de_ata' => $de_ata
'dep_a_ao' => $dep_a_ao
'arrivalata' => $arrivalata
'ar_aao' => $ar_aao
'cdesare' => $cdesare
'trars' => $trars
'anes' => $anes
";
}
|
| |
|
|
|
|
|
|
|
для: Sfinks
(15.02.2015 в 22:48)
| | А как значение aie_ita в вашем примере просто занести в переменную? | |
|
|
|
|
|
|
|
для: Port_Artur3
(16.02.2015 в 20:06)
| | Пример, который я привёл, после этого года:
$arr = json_decode($var, true);
echo($arr);
|
выводит:
А когда в качестве источника подключаю исходный примеру файл. Ничего не выводит.
Есть ли ограничение по размеру JSON? | |
|
|
|
|
|
|
|
для: Port_Artur3
(15.02.2015 в 14:02)
| | простите за нескромный и не по теме вопрос.
Ники Port_Artur и Port_Artur1 на этом форуме - ваши? | |
|
|
|
|
|
|
|
для: Trianon
(16.02.2015 в 21:28)
| | Да. Пароль не могу восстановить. А что?
Если есть возможность, то объедините под единым Port_Artur | |
|
|
|
|
|
|
|
для: Port_Artur3
(16.02.2015 в 22:53)
| | Это если только Cheops'a просить... | |
|
|
|
|
|
|
|
для: Trianon
(16.02.2015 в 22:58)
| | как значение aie_ita в примере выше занести в переменную?
Можно пример | |
|
|
|
|
|
|
|
для: Port_Artur3
(16.02.2015 в 23:58)
| | в примере выше значение заносится в ходе вызова extract()
Явным образом - как-то так:
<?
$aie_ita = $arr[15]['aie_ita'];
|
вообще же существуют такие полезные штуки, как print_r($arr) и var_dump($arr) | |
|
|
|
|
|
|
|
для: Trianon
(17.02.2015 в 20:36)
| | $item - подмассив массива JSON и вот так заносится в массив переменных всё нормально.
if (is_array($item)){
foreach($item as $it){
$array[$i]=$it;
echo $array[$i];
}
}
|
но количество переменных в подмассиве при их одинаковых названиях всегда разное:
может быть так:
а может быть и так:
{en":"Nik","cn":"Nic","tr":"Nic"}
|
Тогда было решено приcваивать не элементам массива а конкретным переменным, но почему-то не работает:
if (is_array($item)){
extract($item);
$n_en=$en; echo $n_en.",";
$n_cn=$cn; echo $n_cn.",";
$n_tr=$tr; echo $n_tr.",";
}
|
На экран ничего не выводится, скрипт перетстаёт работать.
Подскажите пожалуйста, что я делаю не так, где ошибка? | |
|
|
|
|
|
|
|
для: Trianon
(16.02.2015 в 22:58)
| | и если просить, то похоже, в разделе Разное.
Сюда он заглядывает не столь регулярно. | |
|
|
|
|
|
|
|
для: Trianon
(17.02.2015 в 20:44)
| | $item - подмассив массива JSON и вот так заносится в массив переменных всё нормально и всё нормально выводится на экран.
if (is_array($item)){
foreach($item as $it){
$array[$i]=$it;
echo $array[$i];
}
}
|
но количество переменных в подмассиве при их одинаковых названиях всегда разное:
может быть так:
а может быть и так:
{en":"Nik","cn":"Nic","tr":"Nic"}
|
Тогда было решено приcваивать не элементам массива а конкретным переменным, но почему-то не работает:
if (is_array($item)){
extract($item);
$n_en=$en; echo $n_en.",";
$n_cn=$cn; echo $n_cn.",";
$n_tr=$tr; echo $n_tr.",";
}
|
На экран ничего не выводится, скрипт перестаёт работать.
Подскажите пожалуйста, что я делаю не так, где ошибка? | |
|
|
|
|
|
|
|
для: Port_Artur3
(07.03.2015 в 01:03)
| |
<?
if (is_array($item)){
foreach($item as $key => $it){
$array[$key]=$it;
echo "<br> array[" . $key . "]=" . $array[$key];
}
}
|
Хотя я и не понимаю, почему не воспользоваться сразу исходным массивом. | |
|
|
|
|
|
|
|
для: Trianon
(07.03.2015 в 17:00)
| | Спасибо! | |
|
|
|