Есть примерно такой код: Код (Text): <?php $m = '[{ "r": "19", "t": "bus", "v": [{ "bn": "34-31", "gps_id": 3047, "Lat": 50.942291666667, "Lng": 34.7614, "t": 1509956908, "d": 133, "s": -1 }, { "bn": "33-87", "gps_id": 3109, "Lat": 50.903346, "Lng": 34.772668, "t": 1509957164, "d": 208, "s": -1 }, { "bn": "33-91", "gps_id": 3113, "Lat": 50.898905, "Lng": 34.76712, "t": 1509957176, "d": 55, "s": -1 }, { "bn": "33-25", "gps_id": 3020, "Lat": 50.888363, "Lng": 34.749946, "t": 1509957182, "d": 167, "s": -1 }, { "bn": "36-25", "gps_id": 3112, "Lat": 50.932891, "Lng": 34.7892, "t": 1509957164, "d": 137, "s": -1 }, { "bn": "14-35", "gps_id": 3799, "Lat": 10000, "Lng": 10000, "t": 1509957168, "d": 247, "s": -1 }] }, { "r": "3", "t": "bus", "v": [{ "bn": "36-02", "gps_id": 3091, "Lat": 50.873686, "Lng": 34.772368, "t": 1509957169, "d": 314, "s": -1 }] }]'; $rCnt = 0; $iter = new RecursiveIteratorIterator(new RecursiveArrayIterator(json_decode($m,true))); foreach($iter as $key=>$val){ if($key == 'r') $rCnt++; } echo $rCnt; ?> Сначала всё работало нормально, переменная считала количество символов. Но теперь вместо это в браузере выбивает вот что: Код (Text): $val){ if($key == 'r') $rCnt++; } echo $rCnt; ?> Что не так? Ведь всё работало нормально!
А просто ответить нельзя? Тем более, я сказал, что всё работало. Нужно сделать всё срочно, поэтому спрашиваю здесь.
нет нельзя! надо срочно: Вперёд в раздел фриланс, там всё сделают за тебя или в раздел сделайте за меня. Но перед тем как туда идти раскрой классы которые там итераторами называются и код выделяй в PHP: // а не в текст. --- Добавлено --- и почему ты в пыхе орудуешь json ами ? --- Добавлено --- @Артем90 у меян вот например код не вываливается наружу. Не разу такого не было. А у тебя может проблема с сервером ты где кодишь?
С терминологией все конечно плохо. Ты напрямую из браузера открываешь скрипт? или же через веб сервер? Если второй вариант, проверь работает ли у тебя PHP --- Добавлено --- Итератор - это по вашему интерпретатор?
мне кажется ты злишься на меня) --- Добавлено --- @mahmuzar нет посотри как функции называются. Я думаю он прямо имеет ввиду свой итератор. Я думаю он не понимает как вообще работает это чудо. Копипаста наверное
Нет, все проще - я не вижу проблемы в использовании JSON при работе с PHP. Пых его поддерживает, это очень удобный формат данных, его используют многие CMS для хранения конфигов тех же, что уж там, его использует великий и ужасный Composer. Я тоже часто им пользуюсь, например. Плюс, входящие данные в виде JSON от клиента - обычное дело. JSON уже давно как отпочковался от JS и стал чуть ли не стандартным транспортом, так что все ок.
Нет ну ты всё таки злишься Я когда это написал не внимательно ознакомился с его кодом. После обнаружил что его json передаётся в некую функцию где транслируется в обычный массив, а значит это скорее всего получаемый им json массив откуда-то. Я тоже юзаю json и храню данные в нём в mysql в виде текста
Если в браузере выбивается код, значит слетели настройки веб-сервера, и он больше не выполняет php по какой-то причине. @askanim, классы, которые ты просишь ТС-а раскрыть - часть стандартной библиотеки PHP
Эхехе.. У тебя систематическая нехватка базы. Оттуда и непонимание происходящего, оттуда и мания придумывать свои термины поверх существующих. Я перечислил самые распространенные кейсы.
выдёргиваешь мои фразы из контекста думаешь я не знаю как работать с json ?) На вот посмотри PHP: public function updateFiles ($table_name, $id, $id_book) { // Тут ползают чертята, оккуратней ! : ))) if (empty($_FILES['image']) and empty($_FILES['images'])) return true; $upload = new Upload(); $update_array = array (); if (!empty($_FILES['image'])) { $image = $upload->normalize_array($_FILES['image']); // Проверим обновление ли это строки, если да проведём операции по зачистки картинок if ($this->heandlerUpdate === true) { // Если это обновление строки тогда удалим текущую картинку и подгрузим новую если таковая имеется // Нужно получить все текущии поля с хранящимися картинками если их нет то не чего делать не будем $images = FieldBook::getFieldByType('image', $id_book); if (!empty($images)) { $imageKeyName = []; foreach ($image As $key => $value) { if ($image[$key]['error'] != 4){ $imageKeyName[] = $key; } } // Установим настройки для работы с библиотекой по удалению картинок $set = []; $set['table_name'] = $table_name; $set['editor_col'] = []; foreach ($images as $key) { $set['editor_col'][] = [ 'type' => 'image', 'name_col' => $key['name_field'] ]; } $moduleWork = new ModuleWork($set); $moduleWork->getImage($id, $imageKeyName)->deleteImage(); } } $image = $upload->get_attr('image_')->path_to_file(ROOT.'/template/files') ->prepare($image)->save(); if ($image !== false) { foreach ($image As $key => $value) { $update_array[$key] = $image[$key]['name']; } } } if (!empty($_FILES['images'])) { // множественная загрузка файлов описан единичный случай. Нужено переделать в множественный !!! $json_array = []; $images = $upload->normalize_files_array($_FILES['images']); $images = $upload->get_attr('image_')->path_to_file(ROOT.'/template/files') ->prepare($images)->save(); if ($images !== false) { foreach ($images As $key => $value) { $json_array[] = $images[$key]['name']; } $images = FieldBook::getFieldByType('images', $id_book); if (empty($images[0]['name_field'])) { return false; } if ($this->heandlerUpdate === true) { // Если это обновление нужно получить все картинки хранящиеся в бд $data = $this->book->getRowByID($id); $dataImages = $data[$images[0]['name_field']]; $dataImages = json_decode($dataImages, true); foreach ($dataImages As $key => $value) { $json_array[] = $value; } } $update_array[$images[0]['name_field']] = json_encode($json_array); } } // Обновление добавленной строки \Application\Model\Module\Modules::updateRowModuleTable($table_name, $update_array, $id); return $update_array; } --- Добавлено --- Это как я в движке работаю у себя с картинками при их загрзуке --- Добавлено --- там есть и декод и енкод. ) --- Добавлено --- не спорю я где то чего то не знаю. Прост оя не читал что там у него в чёрно белом коде написано. ТАк посотрел json и спросил его почему он орудует json хотел узнать цель. Вообще что он делает и зачем.
Ни разу не выдернуто. Не моя вина, что ты думаешь одно, а пишешь другое. Я вижу только то, что ты пишешь. И только тот контекст, который ты задаешь. А не тот, который подразумеваешь.
@Fell-x27 Я имел ввиду там где он создаёт экземпляр класса. И передачу в конструктор декодированный массива. Да действительно этот класс на пыхе мне не известен. --- Добавлено --- но это не базис, это то что пока ещё не было нужно в моей практике.