Intereting Posts
Общие функции в CodeIgniter Как искать строку во внутреннем массиве с помощью mongodb? Как проверить, работает ли указанный PID в настоящий момент, не вызывая ps из PHP? Преобразование строки в целое возвращает 2147483647 Если вы включите файл в PHP в цикле, он будет обращаться к файлу каждый раз, когда он будет работать в цикле? Загружать контент из MySQL в прокрутку с помощью сообщения AJAX Кто-нибудь нашел, что REGEX «\ b» не работает в MYSQL? серверный код, смешанный с кодом на стороне клиента – лучшие практики Может ли html использоваться с динамически генерируемыми изображениями в php? Можно ли загружать изображение на сервер без отправки формы? Как поймать ошибку require () или include () в PHP? Формы Symfony 2, встраивание коллекции во встроенную коллекцию Перенаправить POST htaccess Не отображается PHP MySQL INSERT и не отображается какая-либо ошибка Преобразовать хорошо известный текст (WKT) из MySQL в полигоны Google Maps с помощью PHP

PHP слияния массивов в 2D JSON

У меня есть 3 строки JSON, которые входят в POST и хотят объединить их в 2-мерный массив и сохранить в формате JSON базу данных. В этом примере у меня есть URL-адрес изображения, описания альфа и логические значения isfavorite

$url_arr = json_decode('["http://site.com/001.jpg","http://site.com/003.jpg","http://site.com/002.jpg"]'); $alt_arr = json_decode('["testing internat chars àèéìòóù stop","second description",""]'); // UTF-8 supported $isFav_arr = json_decode('["true", "false", "false"]'); // strings need to be converted to booleans // merge into 2 dimensional array // $img_arr = array_merge($url_arr, $alt_arr, $isFav_arr); // doesn't work, just add's to the end // ... // save 2D JSON in database $to_db = json_encode($img_arr); 

Просто конкатенация строки:

 $to_db = '[' . '["http://site.com/001.jpg","http://site.com/003.jpg","http://site.com/002.jpg"]' . ',["testing int chars àèéìòóù stop","second description",""]' . ',["true", "false", "false"]' . ']'; 

Если вы не хотите работать со значениями в строке Json, вам не требуется en / decoding. Вы можете использовать http://www.jsonlint.com/ для его проверки ( удалены jsonlint и print_r чтобы сделать некоторое пространство )

$ url_arr = json_decode ('["http://site.com/001.jpg", "http://site.com/003.jpg", "http://site.com/002.jpg"%5D' ); $ alt_arr = json_decode ('["тестирование int chars àèéìòóù stop", "второе описание", ""]'); // UTF-8 поддерживает $ isFav_arr = json_decode ('["true", "false", "false"]'); // строки должны быть преобразованы в булевы

$ img_arr = array ("urls" => $ url_arr, "alts" => $ alts_arr, "favs" => $ isFav_arr
); $ results = json_encode ($ img_arr);

// возможно, вам нужно будет очистить числовые индексы … перед построением массива multydim

Легкий бит:

 $img_arr = array(); for ($i=0; $i < sizeof($url_arr); $i++) { $img_arr[] = array($url_arr[$i], $alt_arr[$i], $isFav_arr[$i]); } 

Сохранение в БД зависит от того, какой тип БД вы используете. Посмотрите примеры, используя либо mysql_query , либо подготовленные операторы (предпочтительные).