Kawałek kodu
$data = str_getcsv($csv, "\n\r");
for ($iRow = 2; $iRow < count($data); $iRow++){
$row = $data[$iRow];
$col = str_getcsv($row, ";");
for($iCol = 0; $iCol < count($col); $iCol++){
$_POST['csv_row_' . $iRow . '_col_' . $iCol] = (string) $col[$iCol];
}
} var_dump($_POST);
$jsonEncodeData = json_encode($_POST);
var_dump($_POST) zwraca taki wynik jak powinien, tzn dorzucona zawartość wygląda identycznie, jak zawartość która była tam wcześniej. Z oryginalną zawartością nie ma problemu z konwersją, wszystko działa, po doklejeniu kilku elementów json_encode zwraca false, dlaczego?
+wie ktoś może jak przerzucić tablice wielopoziomową do JSON, aby później dało się łatwo te dane odczytać? próbowałem na wiele sposobów jednak żaden nie działał (zawsze zwracało false). Czy to jest wina formatu tekstu? Pochodzi on z pliku CSV
Próbowałem również sposobu
$csv= file_get_contents($file);
$array = array_map("str_getcsv", explode("\n", $csv));
$json = json_encode($array);
print_r(json_decode($json));
jednak dalej efekt jest taki sam, czyli dostaje false lub null
Odkryłem też że w niektórych dodanych elementach, z użyciem dump() pojawia się b przed treścią stringa w tablicy
np
"klucz": b"tekst"
Skąd bierze się to b? i jak to usunąć? Pierwszy raz robie coś na CSV