Декодирование JSON foreach -> доставка только 1 строки

мой код доставки только 1 ряд. Первое. Этот JSON содержит 3000 строк.

Кто-нибудь знает, почему? Спасибо!

if (!empty($_GET["cuit"])){

    $cuit = $_GET["cuit"];
    $directorioDocs = 'data/docs/';
    $data = file_get_contents("data/data.json");
    $proveedores = json_decode($data, true);

    $i = 0;
    foreach ($proveedores as $proveedor) {

        if ($cuit == $proveedor[$i]['cuit']) {
            $proveedorArray = array(
                "cuit" => $proveedor[$i]['cuit'],
            );


        }
        else {$proveedorArray = array("Data" => "Debe ingresar un cuit");
        }
        $i = $i + 1;

    }

    echo json_encode($proveedorArray);
}
else
{
    $proveedorArray = array("Data" => "Debe ingresar un cuit");
    echo json_encode($proveedorArray);

}

Вы создаете новый массив в каждом цикле foreach. Вместо этого вы хотите добавить массив в каждый цикл.

aynber 30.07.2019 17:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
93
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

$proveedorArray = array(
    "cuit" => $proveedor[$i]['cuit'],
);

Создает новый массив на каждой итерации цикла. Вместо этого вам нужно добавить:

// assuming each item in the parent array should be another array
$proveedorArray[] = array(
    "cuit" => $proveedor[$i]['cuit'],
);

Вам также придется сделать то же самое в случае else внутри цикла.

У меня все еще та же проблема. Если я использую другой cuit в качестве параметра, отличного от первого, он возвращает "Debe inggresar un cuit""

JonyL 30.07.2019 17:28
Ответ принят как подходящий

Я вам говорю, что решение было найдено при анализе json

Я сделал это с помощью этого инструмента->

https://jsonlint.com/

мне не хватает этого->

foreach ($provedores['data'] as $provedor) {

Также удалите уже ненужный индекс [0].

Это было

Спасибо

Другие вопросы по теме