мой код доставки только 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);
}






$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""
Я вам говорю, что решение было найдено при анализе json
Я сделал это с помощью этого инструмента->
мне не хватает этого->
foreach ($provedores['data'] as $provedor) {
Также удалите уже ненужный индекс [0].
Это было
Спасибо
Вы создаете новый массив в каждом цикле foreach. Вместо этого вы хотите добавить массив в каждый цикл.