rafinos Δημοσ. 20 Μαρτίου Δημοσ. 20 Μαρτίου Γεια σας παιδιά, Έστω ότι έχω ένα array της παρακάτω μορφής: $arr = [ ["rafinos","1"], ["rafinos","2"], ["rafinos","3"], ["rafinos","4"], ["rafinos1","1"], ["rafinos2","1"], ["rafinos","5"], ["rafinos2","2"], ["rafinos2","3"], ["rafinos1","2"], ["rafinos","6"] ]; Πως μπορώ να κάνω unique τον πίνακα ως προς την πρώτη τιμή κάθε sub_array; Για παράδειγμα ο παραπάνω πίνακας θα έπρεπε να γίνει έτσι: $arr = [ ["rafinos","1"], ["rafinos1","1"], ["rafinos2","1"] ]; Το να τρέξω ένα loop και να αποθηκεύω σε ένα $temp το $arr[$i][0] και να κάνω τον έλεγχο δεν βοηθάει μιας που δεν είναι απαραίτητα στη σειρά οι τιμές (εμένα με ενδιαφέρει να μένει μόνο η πρώτη τιμή του κάθε [$i][0]).
Λύση geomagas Δημοσ. 20 Μαρτίου Λύση Δημοσ. 20 Μαρτίου Αν κατάλαβα τι εννοείς: $t=[]; foreach($arr as $el) if(!isset($t[$el[0]])) $t[$el[0]]=$el[1]; $r=[]; foreach($t as $k=>$v) $r[]=[$k,$v]; Στο $r είναι το αποτέλεσμα που θέλεις. 1
rafinos Δημοσ. 20 Μαρτίου Μέλος Δημοσ. 20 Μαρτίου (επεξεργασμένο) 21 λεπτά πριν, geomagas είπε Αν κατάλαβα τι εννοείς: $t=[]; foreach($arr as $el) if(!isset($t[$el[0]])) $t[$el[0]]=$el[1]; $r=[]; foreach($t as $k=>$v) $r[]=[$k,$v]; Στο $r είναι το αποτέλεσμα που θέλεις. Δεν το σκέφτηκα καθόλου... Τόσο απλό! Χωρίς να το δοκιμάσω φαίνεται ότι είναι μια χαρά. Σε ευχαριστώ! Επεξ/σία 20 Μαρτίου από rafinos
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα