Ενδιάμεσες τιμές σε string αγνώστου μήκους.

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

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

Απάντηση
Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Ενδιάμεσες τιμές σε string αγνώστου μήκους.

Δημοσίευση από Apostolis_38 » 04 Απρ 2013 13:38

Καλησπέρα,

μια μικρή βοήθεια γιατί έχω κολλήσει :evil:
Θέλω να παίρνω τις ενδιάμεσες τιμές σε string το οποίο δεν είναι σταθερού μήκους.

Εστω δηλαδή οτι τη μια φορά είναι αυτό:ATH_JTR_SVO_GKL
την άλλη φορά αυτό:SVO_JGO_YHU
την άλλη αυτό: ATH_YHU_LET_GKL_JGO_YHU
κ.λ.π. θέλω να παίρνω τις τιμές πλήν της πρώτης και της τελευταίας.

Εχω φτιάξει αυτό:

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

$destinationPoint = explode("_",$this->route);//declare exploding character

$stringEnd = count($destinationPoint);//count pοints found

$this->from = $destinationPoint[0];//get first destination point

$this->to = end($destinationPoint);//get last destination point

for&#40;$i = 1; $i < $stringEnd -1; $i++  &#41;	&#123;//get intermediate points
 $this->via = Εδώ είναι που θα πρέπει να εμφανίζει τις ενδιάμεσες τιμές;
&#125;
Εχει κανείς καμμιά ιδέα;

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ενδιάμεσες τιμές σε string αγνώστου μήκους.

Δημοσίευση από gvre » 04 Απρ 2013 13:54

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

$destinationPoint = explode&#40;"_",$this->route&#41;;//declare exploding character 
$this->from = array_shift&#40;$destinationPoint&#41;;//get first destination point 
$this->to = array_pop&#40;$destinationPoint&#41;;//get last destination point 
$this->via = $destinationPoint; // ή $this->via = implode&#40;'_', $destinationPoint&#41;;
Τελευταία επεξεργασία από το μέλος gvre την 04 Απρ 2013 13:58, έχει επεξεργασθεί 1 φορά συνολικά.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Ενδιάμεσες τιμές σε string αγνώστου μήκους.

Δημοσίευση από Apostolis_38 » 04 Απρ 2013 13:57

Sorry, δικό μου λάθος, αλλά έχω ψιλοκολλήσει.

Θέλω να πέρνω το κάθε value ξεχωριστά, δηλ από το ATH_YHU_LET_GKL_JGO_YHA:
YHU
LET
GKL
JGO

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ενδιάμεσες τιμές σε string αγνώστου μήκους.

Δημοσίευση από gvre » 04 Απρ 2013 13:59

Δες την προηγούμενη απάντηση. Έχω κάνει edit.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Ενδιάμεσες τιμές σε string αγνώστου μήκους.

Δημοσίευση από Apostolis_38 » 04 Απρ 2013 14:02

Ναι το είδα, είναι ok.
Απλώς θα πρέπει να loopάρω το implode.

Κάτσε να το δω.

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ενδιάμεσες τιμές σε string αγνώστου μήκους.

Δημοσίευση από gvre » 04 Απρ 2013 14:11

Ποια είναι η τελική μορφή που θέλεις τις ενδιάμεσες τιμές;

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Ενδιάμεσες τιμές σε string αγνώστου μήκους.

Δημοσίευση από Apostolis_38 » 04 Απρ 2013 14:14

:D

YHU
LET
GKL
JGO

Με ένα απλό foreach θα έπρεπε να τρέχει το κωλ*^&*%^! αλλά μου χτυπάει invalid argument και με τη θολούρα μου δεν μπορώ να βρω γιατί
:evil:

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Ενδιάμεσες τιμές σε string αγνώστου μήκους.

Δημοσίευση από Apostolis_38 » 04 Απρ 2013 14:17

Ελα, το βρήκα την τρέλλα μου.

Το σουλουπώνω και το βάζω.

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

		$destinationPoint = explode&#40;"_",$this->route&#41;;//declare exploding character

		$stringEnd = count&#40;$destinationPoint&#41;;//count points fount

		$this->from = array_shift&#40;$destinationPoint&#41;;//get first destination point

		$this->to = array_pop&#40;$destinationPoint&#41;;//get last destination point

		$intermediatePoints = implode&#40;'_', $destinationPoint&#41;;

		$splitedPoints = explode&#40;"_",$intermediatePoints&#41;;
		foreach&#40;$splitedPoints as $value&#41; &#123;
			$this->via = $value;
		&#125;

Σε ευχαριστώ πολύ παληκάρι :pint:

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Ενδιάμεσες τιμές σε string αγνώστου μήκους.

Δημοσίευση από fafos » 04 Απρ 2013 16:55

enas syntomos dromos einai h slice:

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

$k = explode&#40;'_', "ATH_YHU_LET_GKL_JGO_YHU"&#41;;
$sliced = array_slice&#40;$k, 1, -1&#41;; // 1=proth eggrafh, -1=teleutaia eggrafh

      foreach&#40;$sliced as $value&#41; &#123;
         echo  $value.'<br />';
      &#125; 
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ενδιάμεσες τιμές σε string αγνώστου μήκους.

Δημοσίευση από gvre » 04 Απρ 2013 17:48

@apostolis
Το $destinationPoint έχει το array που χρειαζεσαι, μετα το array_shift και array_pop που γίνεται. Το μόνο που χρειάζεται να κανείς είναι ένα $this->via = implode('<br />', $destinationPoint); και είσαι έτοιμος (ακόμα καλύτερα είναι να γυρίσεις το array όπως είναι και να κανεις τη μορφοποιηση εκεί που εμφανιζεις τη σελίδα.

@fafos Υποθετω οτι χρειάζεται και τις τιμές στα άκρα του array, σύμφωνα με τον κώδικα που έχει στείλει. Αν δεν ισχύει κάτι τέτοιο τότε είναι καλύτερα να χρησιμοποιήσει τη slice.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Ενδιάμεσες τιμές σε string αγνώστου μήκους.

Δημοσίευση από Apostolis_38 » 04 Απρ 2013 19:09

@fafos: Στην αρχική μορφή δεν με βολεύει γιατί όντως θέλω την πρώτη και την τελευταία τιμή του array.
Μετά φαντάζομαι οτι και με το array_slice θα γίνεται η δουλειά αλλά και πάλι αυτό που μου φέρνει τις ενδιάμεσες τιμές στη μορφή που θέλω είναι το foreach.

@gvre:Τώρα δεν έχω μπροστά το script αλλά νομίζω πως το δοκίμασα αυτό που λες και δεν μου έκανε.
Δεν θέλω να τα τυπώσω αλλά να τα χρησιμοποιήσω ώστε να "τραβήξω" query για κάθε μια τιμή του array.

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ενδιάμεσες τιμές σε string αγνώστου μήκους.

Δημοσίευση από gvre » 04 Απρ 2013 21:52

Ok then :) με τη foreach θα κανείς δουλειά, απλά βάλε ελεγχο ότι αυτό που της περνάς είναι όντως array.

Απάντηση

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

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

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