mysql — сравнивает записи CSV с файлами JSON, используя переполнение стека

У меня есть файл CSV под названием refrigerator.csv вот так:

+---------------+---------+--------+------------+
| item          |  amount |  unit  |  use by    |
+---------------+---------+--------+------------+
| bread         | 10      | slices | 25/12/2017 |
+---------------+---------+--------+------------+
| cheese        | 10      | slices | 25/12/2017 |
+---------------+---------+--------+------------+
| butter        | 250     | grams  | 25/12/2017 |
+---------------+---------+--------+------------+
| peanut butter | 250     | grams  | 2/12/2017  |
+---------------+---------+--------+------------+
| mixed salad   | 500     | grams  | 26/12/2016 |
+---------------+---------+--------+------------+

и файл JSON под названием recipes.json вот так:

[
{
"name": "grilledcheeseontoast",
"ingredients": [
{
"item": "bread",
"amount": "2",
"unit": "slices"},
{
"item": "cheese",
"amount": "2",
"unit": "slices"}
]
},
{
"name": "saladsandwich",
"ingredients": [
{
"item": "bread",
"amount": "2",
"unit": "slices"},
{
"item": "mixedsalad",
"amount": "200",
"unit": "grams"}
]
},
{
"name": "peanutbuttersandwich",
"ingredients": [
{
"item": "bread",
"amount": "2",
"unit": "slices"},
{
"item": "peanut butter",
"amount": "250",
"unit": "grams"}
]
}
]

Мне было поручено создать консольное приложение с использованием php, чтобы взять эти два файла в строку аргументов и вывести рекомендуемые рецепты в соответствии с элементами холодильника. Ингредиенты, прошедшие срок годности, не могут быть использованы. Любые указания о том, как я могу сделать это? (Я начинающий PHP)

-2

Решение

Сначала отфильтруйте все из файла CSV с датой истечения срока действия (например, текущая дата больше даты, указанной в файле CSV). PHP имеет встроенную поддержку для чтения и записи файлов CSV. str_getcsv() это один из них. Документацию можно найти: http://php.net/manual/en/function.str-getcsv.php . Вы можете использовать эту функцию, чтобы прочитать файл один за другим и превратить его в массив. Комментарии также содержат несколько полезных указателей.

После фильтрации считайте файл JSON с помощью встроенных функций чтения файла, например, file_get_contents() (http://php.net/manual/en/function.file-get-contents.php). Это прочитает данный файл, указанный аргументом имени файла, в строку. Используйте встроенный json_decode() (http://php.net/manual/en/function.json-decode.php) функция для преобразования входной строки в объект или ассоциативный массив.

После преобразования файла JSON в объект или массив вы можете перебрать список отфильтрованных ингредиентов и проверить, есть ли совпадение в ваших данных рецептов. Вы можете пойти по прямому методу, перебирая данные своих рецептов снова и снова, пока не найдете соответствие, или попытаетесь использовать и / или объединить больше встроенных функций для решения проблемы.

Попробуйте разбить свое решение на более мелкие проблемы и сосредоточиться на решении этих проблем.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector