Βοήθεια σε array

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
trilos021
Δημοσιεύσεις: 131
Εγγραφή: 04 Νοέμ 2003 18:06

Βοήθεια σε array

Δημοσίευση από trilos021 » 05 Οκτ 2013 22:22

Καλησπέρα,

έχω φτιάξει το παρακάτω script το οποίο δημιουργεί ένα array.

Κώδικας: Επιλογή όλων

foreach ($ways as $w){
			$nd=$w->nd;
			foreach ($nd as $w2){
					
					$nodes_Array[]=(string)$w2->attributes()->ref;
				}
				for&#40;$ww=0;$ww<count&#40;$nodes_Array&#41;;$ww++&#41;&#123;
					$nodes_Array2&#91;$bb&#93;&#91;'main'&#93; = $nodes_Array&#91;$ww&#93;;
					$nodes_Array2&#91;$bb&#93;&#91;'conn'&#93; = array_diff&#40;$nodes_Array, array&#40;$nodes_Array&#91;$ww&#93;&#41;&#41;;	
					for&#40;$cc=0;$cc<count&#40;$nodes_Array2&#91;$bb&#93;&#91;'conn'&#93;&#41;;$cc++&#41;&#123;
						for&#40;$gg=0;$gg<count&#40;$node_content&#41;;$gg++&#41;&#123;
							if&#40;$node_content&#91;$gg&#93;&#91;'id'&#93;==$nodes_Array2&#91;$bb&#93;&#91;'conn'&#93;&#91;$cc&#93;&#41;&#123;
								//$nodes_Array2&#91;$bb&#93;&#91;'conn'&#93;&#91;$cc&#93;=$node_content&#91;$gg&#93;&#91;'lat'&#93;;
								///edwww anathesi se neo pinaka
							&#125;
						&#125;
						//print_r&#40;$nodes_Array2&#91;$bb&#93;&#91;'conn'&#93;&#91;$cc&#93;&#41;;
					&#125;
					$bb++;
				&#125;
							
				unset&#40;$nodes_Array&#41;;
				
		&#125;
Ο πίνακας που δημιουργείται είναι αυτός:

Κώδικας: Επιλογή όλων

&#91;0&#93; => Array
        &#40;
            &#91;main&#93; => 472321514
            &#91;conn&#93; => Array
                &#40;
                    &#91;1&#93; => 599416249
                    &#91;2&#93; => 2352406409
                    &#91;3&#93; => 496968074&#41;
        &#41;
Αυτό που προσπαθώ να φτιάξω είναι να εισάγω κάποιους "υποπίνακες" οι οποίοι θα μετατρέπουν τον πίνακα ως εξής:

Κώδικας: Επιλογή όλων

&#91;0&#93; => Array
        &#40;
            &#91;main&#93; => 472321514=>Array&#40;
                 &#91;id&#93;=>.....
                 &#91;charact&#93;=>....&#41;
            &#91;conn&#93; => Array
                &#40;
                    &#91;1&#93; => 599416249=>Array&#40;
                 &#91;lat&#93;=>.....
                 &#91;lon&#93;=>....&#41;
                    &#91;2&#93; => 2352406409=>Array&#40;
                 &#91;lat&#93;=>.....
                 &#91;lon&#93;=>....&#41;
                    &#91;3&#93; => 496968074&#41;=>Array&#40;
                 &#91;lat&#93;=>.....
                 &#91;lon&#93;=>....&#41;
        &#41;
Μπορεί κάποιος να βοηθήσει για το πως θα το υλοποιήσω;

Ευχαριστώ πολύ

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Βοήθεια σε array

Δημοσίευση από geomagas » 06 Οκτ 2013 00:59

Αυτό

Κώδικας: Επιλογή όλων

&#91;1&#93; => 599416249=>Array&#40;  &#91;lat&#93;=>..... &#91;lon&#93;=>....&#41;
είναι άκυρο. Δεν αντιστοιχεί σε κάποια δομή της php.

Αν το εκφράσεις με κάποια εφικτή δομή... εδώ είμαστε!

trilos021
Δημοσιεύσεις: 131
Εγγραφή: 04 Νοέμ 2003 18:06

Βοήθεια σε array

Δημοσίευση από trilos021 » 06 Οκτ 2013 01:03

Καλησπέρα. Αυτό που προσπαθώ είναι για κάθε τιμή πχ 599416249 να της "αποθηκεύσω" το lat και το lon της.

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Βοήθεια σε array

Δημοσίευση από geomagas » 06 Οκτ 2013 01:09

...το ξενυχτάμε έτσι;;; :)

Σε βολεύει πχ κάτι τέτοιο;

Κώδικας: Επιλογή όλων

&#91;599416249&#93;=>Array&#40;  &#91;lat&#93;=>..... &#91;lon&#93;=>....&#41;

trilos021
Δημοσιεύσεις: 131
Εγγραφή: 04 Νοέμ 2003 18:06

Βοήθεια σε array

Δημοσίευση από trilos021 » 06 Οκτ 2013 01:12

Χαχαχα...Άστα να πάνε... Το πρόβλημα με αυτό είναι ότι οι τιμές 599416249,2352406409 κτλ δεν είναι μοναδικές.Υπάρχει περίπτωση να είναι ίδιες

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Βοήθεια σε array

Δημοσίευση από geomagas » 06 Οκτ 2013 01:17

Οκ. Οπότε πάμε με κάτι σαν το παρακάτω;

Κώδικας: Επιλογή όλων

&#91;1&#93; => Array&#40; 
    &#91;id&#93;=>599416249
    &#91;coords&#93;=>Array&#40;&#91;lat&#93;=>..... &#91;lon&#93;=>....&#41;
    &#41;

trilos021
Δημοσιεύσεις: 131
Εγγραφή: 04 Νοέμ 2003 18:06

Βοήθεια σε array

Δημοσίευση από trilos021 » 06 Οκτ 2013 01:19

Είναι ακριβώς αυτό που ψάχνω!!

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Βοήθεια σε array

Δημοσίευση από geomagas » 06 Οκτ 2013 01:28

Αντικατέστησε αυτό

Κώδικας: Επιλογή όλων

                     if&#40;$node_content&#91;$gg&#93;&#91;'id'&#93;==$nodes_Array2&#91;$bb&#93;&#91;'conn'&#93;&#91;$cc&#93;&#41;&#123;
                        //$nodes_Array2&#91;$bb&#93;&#91;'conn'&#93;&#91;$cc&#93;=$node_content&#91;$gg&#93;&#91;'lat'&#93;;
με αυτό

Κώδικας: Επιλογή όλων

                     if&#40;$node_content&#91;$gg&#93;&#91;'id'&#93;==$nodes_Array2&#91;$bb&#93;&#91;'conn'&#93;&#91;$cc&#93;&#41;&#123;
                        $nodes_Array2&#91;$bb&#93;&#91;'conn'&#93;&#91;$cc&#93;=Array&#40;
                             'id'=>$node_content&#91;$gg&#93;&#91;'id'&#93;,
                             'coords'=>Array&#40;
                                 'lat'=>$node_content&#91;$gg&#93;&#91;'lat'&#93;,
                                 'lon'=>$node_content&#91;$gg&#93;&#91;'lon'&#93;,
                                 &#41;,
                             &#41;;
Δεν είμαι και σίγουρος γιατί ο μισός μου εγκέφαλος έχει ήδη δηλώσει παραίτηση τέτοια ώρα, αλλά δοκίμασε και πες.

trilos021
Δημοσιεύσεις: 131
Εγγραφή: 04 Νοέμ 2003 18:06

Βοήθεια σε array

Δημοσίευση από trilos021 » 06 Οκτ 2013 01:31

Δουλεύει!!! Χίλια ευχαριστώ!!

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Βοήθεια σε array

Δημοσίευση από geomagas » 06 Οκτ 2013 01:31

Να'σαι καλά. Καλή συνέχεια.

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

Βοήθεια σε array

Δημοσίευση από jpk » 06 Οκτ 2013 15:49

Αφού δουλεύει να μην σας το χαλάσω και αναρωτηθώ τι στο καλό κάνετε και χρησιμοποιείτε τα arrays σαν anonymous objects &#8230; Στην PHP τα λέμε associative arrays αυτά αλλά να μην ξεχνιόμαστε είναι μια μορφή map και όχι συμβατικών arrays , όπως και η PHP λέει. Το συγκεκριμένο ερώτημα είναι ερώτημα λίστας αντικειμένων με κάποιο αντικείμενο (cords) ως ιδιότητα τους , φυσικά μπορεί να αποτυπωθεί και με associative array όπως και με άλλες 10 χιλιάδες λύσεις , αλλά δεν παύει να είναι ερώτημα αντικείμενο. Όπως δεν κατάλαβα γιατί το cords πρέπει να είναι διαφορετικό array μέσα στο array και όχι first level με lat , long . Το ίδιο ισχύει αν ήταν αντικείμενο σε μια λίστα.

trilos021
Δημοσιεύσεις: 131
Εγγραφή: 04 Νοέμ 2003 18:06

Βοήθεια σε array

Δημοσίευση από trilos021 » 06 Οκτ 2013 16:18

jpk έγραψε:Αφού δουλεύει να μην σας το χαλάσω και αναρωτηθώ τι στο καλό κάνετε και χρησιμοποιείτε τα arrays σαν anonymous objects &#8230; Στην PHP τα λέμε associative arrays αυτά αλλά να μην ξεχνιόμαστε είναι μια μορφή map και όχι συμβατικών arrays , όπως και η PHP λέει. Το συγκεκριμένο ερώτημα είναι ερώτημα λίστας αντικειμένων με κάποιο αντικείμενο (cords) ως ιδιότητα τους , φυσικά μπορεί να αποτυπωθεί και με associative array όπως και με άλλες 10 χιλιάδες λύσεις , αλλά δεν παύει να είναι ερώτημα αντικείμενο. Όπως δεν κατάλαβα γιατί το cords πρέπει να είναι διαφορετικό array μέσα στο array και όχι first level με lat , long . Το ίδιο ισχύει αν ήταν αντικείμενο σε μια λίστα.
εννοείς αντί για αυτό

Κώδικας: Επιλογή όλων

&#91;&#91;b&#93;1&#91;/b&#93;&#93; => Array&#40; 
    &#91;id&#93;=>599416249 
    &#91;coords&#93;=>Array&#40;&#91;lat&#93;=>..... &#91;lon&#93;=>....&#41; 
    &#41;
να είναι αυτό;

Κώδικας: Επιλογή όλων

&#91;"&#91;b&#93;key&#91;/b&#93;"&#93; => Array&#40; 
    &#91;id&#93;=>599416249 
    &#91;coords&#93;=>Array&#40;&#91;lat&#93;=>..... &#91;lon&#93;=>....&#41; 
    &#41;

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

Βοήθεια σε array

Δημοσίευση από jpk » 06 Οκτ 2013 16:48

Καμία σχέση φίλε για να σου δώσω κώδικα ας καταλάβω πρώτα. Έχεις αντικείμενα που έχουν «main» και «conn» . το main αν κατάλαβα είναι ιδιότητα τους που είναι το id στην βάση και το conn έχει τα lat &#8211; long που δεν υπάρχει λόγος να είναι σε αντικείμενο αν είναι έτσι αλλά ιδιότητες του αντικειμένου (κατάλαβα καλά;) , οι ιδιότητες αυτές πιθανώς να είναι περισσότερες (αν μιλάμε για χάρτη και το εικονίδιο που θα χρησιμοποιήσεις δεν είναι ιδιότητα , ή και το κείμενο στο mouse over ; ) &#8230;.Αν το έχω καταλάβει καλά το μοντέλο πες μου να σου δώσω κώδικα παραδείγματος , αν όχι δεν τρέχει μια &#8230; απλά διατέθηκα &#8230;.

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Βοήθεια σε array

Δημοσίευση από geomagas » 06 Οκτ 2013 16:54

...μα δεν σου ζήτησε κώδικα, απλά προσπαθεί να καταλάβει τι λες...

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

Βοήθεια σε array

Δημοσίευση από jpk » 06 Οκτ 2013 17:10

geomagas λέω το απλό, αφού μιλάτε επί της ουσίας για αντικείμενα για δεν τα κάνετε τέτοια και μιλάμε για associative arrays ; &#8230; το ότι προσφέρθηκα να δώσω κώδικά έχει να κάνει με το γεγονός ότι υπάρχει και μια περίπτωση να μην γνωρίζετε πως αναπτύσσεται ο αντικειμενοστραφής προγραμματισμός σε PHP , αν γνωρίζετε απλά τότε επισημαίνω ότι μιλάτε για αντικείμενα και όχι για associative arrays .

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες