php как писать данные в json?

Я новичок в php. Я хочу сделать кеш php-страницы, запросить данные из mysql и сохранить данные в формате json.

У меня много вопросов:

  1. какой тип файла следует хранить? .json или .txt или .cache ? потому что мне также нужно использовать json-декодирование возвращаемых данных на страницу.

  2. Я хочу использовать вкладку cron, сделать много запросов mysql и записать в один файл json. какой код писать следует выбрать? fopen, fwrite или file_get_contents или другую команду? (не закрывайте данные, но продолжайте писать. Я удалю файл и обновлю его в следующее время cron)

  3. Если многозадачная запись в json-данные (10 или более запросов mysql в одно и то же время и запись в один и тот же json-файл, каждый дочерний формат json, например {name: ".$row['name']."} ), Как завершил верхний { и нижний } чтобы создать формат данных standad json?

    { // как добавить этот

    {name: ". $ row ['name']."}

    {name: ". $ row ['name']."}

    // много имен из 10 запросов mysql

    } // и этот

Благодарю.

какой тип файла следует хранить

Это не имеет значения. Нет фиксированного расширения, но я бы выбрал .json чтобы дать понять, что должен содержать файл.

какой код писать следует выбрать?

Просто используйте file_put_contents, чтобы поместить строку JSON (см. Следующий раздел) в файл.

каждый формат json child, как

Вы действительно не хотите использовать этот метод. Это может сработать некоторое время, но становится очень сложным, когда вам нужно обрабатывать такие вещи, как кавычки и спецсимволы. Вместо того, чтобы повторно изобретать колесо, используйте для этого встроенные функции JSON для PHP.

Создайте структуру данных, которую вы хотите, используя строки, числа и массивы PHP, а затем полагайтесь на json_encode чтобы превратить ее в строку.

Главное, что нужно быть осторожным, так это то, что в зависимости от того, как выглядит ваш php array() , вы можете получить JSON [] против {} .

Это json_encode()

json_encode () – возвращает представление JSON значения

 <?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); ?> 
  1. Что касается сохранения файла как .txt или .json, это не повлияет.

  2. Я думаю, что фокус этого всего лежит на странице json_encode . Вот пример с этой страницы:

Этот код:

 <?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); ?> 

Вывод выглядит следующим образом:

 {"a":1,"b":2,"c":3,"d":4,"e":5} 

3. Вы можете использовать fopen и fwrite для записи в ваш файл. Второй аргумент fopen – это режим, вы хотите использовать 'a' для добавления.

Не пишите свой собственный кеш, потому что все, что вы пишете в PHP, будет медленнее, чем может поддерживаться собственными расширениями (например, APC или memcached или даже сам MySQL!).

Не кешируйте как JSON. JSON не является особенно «быстрым» для сериализации. Если вы выполняете кеширование, вы вообще не хотите сериализовать. Просто сохраните его как есть.

MySQL выполняет кэширование запросов для вас. Если производительность является проблемой, сначала настройте свои MySQL-запросы и схему базы данных. Кэширование – одна из абсолютной последней оптимизации, которую вы хотите сделать.

Если вам нужен простой способ кэширования, создайте таблицу MySQL с именем «cache» и используйте ее. Если вы хотите быстрый (небольшой) доступ к файлам, используйте MySQL (серьезно). Если вы хотите получить более быстрый доступ к кешу, используйте кеш в памяти, такой как APC или memcached.