philos Δημοσ. 19 Οκτωβρίου 2022 Δημοσ. 19 Οκτωβρίου 2022 (επεξεργασμένο) Καλημέρα! Για να μην το παλεύω με τις ώρες μόνος μου (ήδη έχω φάει κάμποση ώρα), θα ήθελα λίγο βοήθεια στο εξής πρόβλημα με arrays. Έχουμε αυτό το var_dump ενός php array $data. Η ερώτησή μου: πως πρέπει να γράψω την foreach ($data[2] AS $key => $value) (δυστυχώς θέλω μόνο με αυτή να το τρέξω λόγω ειδικού σκοπού), ώστε να τυπώσω το εξής: // πρώτη γραμμή aa bb // δεύτερη γραμμή cc dd Το πρόβλημά μου είναι ότι δεν έχω τα ζεύγη στην ίδια γραμμή, είναι περιπλεγμένα. ΥΓ: Φυσικά αποδεκτές λύσεις και οι foreach μέσα σε foreach. Επεξ/σία 19 Οκτωβρίου 2022 από philos
Moderators Kercyn Δημοσ. 19 Οκτωβρίου 2022 Moderators Δημοσ. 19 Οκτωβρίου 2022 Θέλεις το index 0 από το value μαζί με το index 0 από το text, μετά το 1 από το value με το 1 από το text κοκ; Για ποιο λόγο θέλεις να χρησιμοποιήσεις μόνο foreach και όχι μια for που θα ήταν πιο βολική;
macabre_sunsets Δημοσ. 19 Οκτωβρίου 2022 Δημοσ. 19 Οκτωβρίου 2022 Θα βόλευε κάτι σαν το ακόλουθο: $array = array_combine($data[2]['value'], $data[2]['text']); το οποίο έχει ως αποτέλεσμα: array(2) { ["aa"]=> string(2) "bb" ["cc"]=> string(2) "dd" } και με ένα: foreach ($array as $value => $text) { ... } μπορείς να πάρεις τις 2 τιμές (value/text).
k33theod Δημοσ. 20 Οκτωβρίου 2022 Δημοσ. 20 Οκτωβρίου 2022 Μία λύση αυτή του @macabre_sunsets άλλη λύση εάν υποθέσεις ότι το data[2] είναι lvl 0 εσύ θες να πασ στο lvl 2 να τυπώσεις με ένα space και ένα "\n" στο lvl 1 γράφε τον κώδικα σε text αν θέλει κάποιος να κάνει simulation να χρειάζεται μόνο copy paste $data = [ 1=>[], [ ['value'=>['aa','cc',""]], ['text'=>['bb','dd','']], ], [], [], [] ]; foreach ($data[2] as $lvl0) { foreach ($lvl0 as $lvl1) { foreach ($lvl1 as $lvl2) { echo $lvl2; echo " "; } echo "\n"; } }
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα