SukcesWpis bardziej dla kolejnych poszukujących rozwiązań.
Nie wiem co się zmieniło przez noc, ale działa - i to po pierwszej pętli - druga daje te same wyniki, więc chyba jest zbędna:
$arr2 = json_decode($zmienna, true);
foreach ($arr2 as $k=>$v){
echo "pierwszy for each: ".$v."<br>"; // zwraca słowo "Array" echo "petla1 zmienna1: ".$v['kolumna1']."<br>"; // zwraca zmienną i wartość poprawnie echo "petla1 zmienna2: ".$v['kolumna2']."<br>"; // zwraca zmienną i wartość poprawnie echo "petla1 zmienna3: ".$v['kolumna3']."<br>"; // zwraca zmienną i wartość poprawnie echo "petla1 zmienna4: ".$v['kolumna4']."<br>"; // zwraca zmienną i wartość poprawnie
foreach ($arr2 as $k2=>$v2){ // zwraca słowo "Array"
echo "petla2 zmienna1: ".$v2[kolumna1
']."<br>"; // zwraca zmienną i wartość poprawnie echo "petla2 zmienna2: ".$v2['kolumna2']."<br>"; // zwraca zmienną i wartość poprawnie
echo "petla2 zmienna3: ".$v2['kolumna3']."<br>"; // zwraca zmienną i wartość poprawnie
echo "petla2 zmienna4: ".$v2['kolumna4']."<br>"; // zwraca zmienną i wartość poprawnie
}
}
Pozostał tylko problem jeśli skrypt nagle nie zwróci Jsona tylko łańcuch znaków.
Funkcja, która zwykle daje wynik w postaci jsona, może dawać komunikat błędu, co daje:
return print "Treść komunikatu błędu";
1. Jak tą linijkę zamienić na Jsona, żeby powyższa funkcja mogła ją wyświetlić?
2. Jak się wtedy do niej odwołać?
Pytam i odpowiadam

1.
return print json_encode
("Komunikat błędu");
2.
echo "Komunikat błędu :".$arr2."<br>";
A teraz jak rozróżnić, czy jsona zrobiono ze stringa czy z wielu wartości (w sensie, że to tablica asocjacyjna)? - samo foreach kiedy mamy pojedyńczy string zwraca błąd
Jak na moje, to potrzebna jest funkcja typu: "czy_tablica_asocjacyjna(arr2)" // tak/nie
i wtedy albo robię tak:
albo tak:
Dla dwóch wartości wygląda to tak:
var_dump(json_decode($zmienna, true));
// array(1) { [0]=> array(4) { ["kolumna1"]=> string(17) "wartosc1" ["kolumna2"]=> string(10) "wartosc2" ["kolumna3"]=> string(19) "wartosc3" ["kolumna4"]=> string(19) "wartosc4" } }
// string(34) "Komunikat błędu"
Odpowiedź:
Temat zakończony.
Serdeczne podziękowania dla użytkownika viking@Kshyhoo
Drogi Użytkowniku / Opiekunie.
Większy autorytet ma się pomagając niż utrudniając zdobywanie wiedzy na tym forum, zamykając kolejne wątki merytoryczne, które otwierałem aby podzielić problem na części pierwsze.
Jak możesz w wątku przeczytać również odpowiadam merytorycznie i opisuję co i jak zrobiłem, że zadziałało.
Tamten wątek zamknąłeś, więc piszę tutaj.
Ten wątek uważam merytorycznie za zakończony - szkoda m tylko, że z taką zaciekłością jak pilnowanie czy ktoś nie otworzył wątku za dużo, nie pomagasz.
Najlepiej bierz przykład z użytkownika viking - czysta merytoryka i chęć pomocy - chyba taka jest idea tego forum, prawda?
Pomijam już kwestię wycieczek personalnych.
Zamiast wycieczek personalnych typu
http://forum.php.pl/index.php?showtopic=262589