πως να βρω πολλαπλά άγνωστα delimiter για explode

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

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

Απάντηση
sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

πως να βρω πολλαπλά άγνωστα delimiter για explode

Δημοσίευση από sibas » 21 Μαρ 2017 13:19

Sorry ισως να μην είναι σωστό το topic

έχω το εξής GET

/data1/data2/data3/data4/data5

και θέλω να τα περάσω σε json_encode, ο τρόπος που παω να το κάνω είναι έτσι

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

$d1 = $d2 = $d3 = $d4 = $d5 = null;
$link = '/data1/data2/data3/data4/data5';

	$GE = explode('/', $link);
	if (isset($GE[1])){
		$d1 = $GE[1];
	}
	
	if (isset($GE[2])){
		$d2 = $GE[2];
	}
	
	if (isset($GE[3])){
		$d3 = $GE[3];
	}
	
	if (isset($GE[4])){
		$d4 = $GE[4];
	}
	
	if (isset($GE[4])){
		$d5 = $GE[5];
	}
		
$data = json_encode(array('d1'=>$d1, 'd2'=>$d2, 'd3'=>$d3, 'd4'=>$d4, 'd5'=>$d5));
print_r($data);
το πρόβλημα μου με αυτό είναι ότι Α) δεν γνωρίζω πόσα delimiters θα έχει το κάθε link και Β) αν χρειαστώ πάνω από 5 delimiters θα πρέπει συνέχεια να τα αλλάζω manual, υπάρχει κάποιος ευκολότερος τρόπος?

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

πως να βρω πολλαπλά άγνωστα delimiter για explode

Δημοσίευση από sibas » 21 Μαρ 2017 15:38

Τελικά ανακάλυψα ότι έχω και ένα άλλο πρόβλημα (δεν ανοίγω άλλο topic)

έχω τα εξής session
product_1 => array(
'name' => 'foo',
'serial' => 'foo-1-foo',
'price' => 0.99,
'quantity' => 1
)
product_2 => array(
'name' => 'bar',
'serial' => 'bar-2-bar',
'price' => 3.99,
'quantity' => 45
)
product_3 => array(
'name' => 'bar',
'serial' => 'bar-3-bar',
'price' => 1.99,
'quantity' => 2
)
πως να επιλέξω μόνο τα session που έχουν όνομα bar? μάλλον είμαι κουρασμένος!! :-?

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

πως να βρω πολλαπλά άγνωστα delimiter για explode

Δημοσίευση από fafos » 21 Μαρ 2017 17:30

gia to 1o thema me auto nomizo oti kaneis thn douleia sou:

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

$link = '/data1/data2/data3/data4/data5/data6/data8';

   $GE = explode('/', $link);

	$i = 1;
	$newarr = array();
    foreach($GE as $d){
		if(!empty($d)){
			$newarr['d'.$i] = $d;
			$i++;
		}
	}

$data = json_encode($newarr);
print_r($data);	
gia to 2o den katalava ti zhtas akrivos...
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

πως να βρω πολλαπλά άγνωστα delimiter για explode

Δημοσίευση από sibas » 22 Μαρ 2017 09:01

++fafos ναι το πρώτο κάπως έτσι πρέπει να γίνει!

Για το δεύτερο έχω πολλάπλα session με uniqid για όνομα, με print_r μου εμφανίζει τα παρακάτω
1b3403665fea6 => array(
'name' => 'foo',
'serial' => 'foo-1-foo',
'price' => 0.99,
'quantity' => 1
)
2b3403665fea6 => array(
'name' => 'bar',
'serial' => 'bar-2-bar',
'price' => 3.99,
'quantity' => 45
)
3b3403665fea6 => array(
'name' => 'bar',
'serial' => 'bar-3-bar',
'price' => 1.99,
'quantity' => 2
)
και αυτό που πρέπει να κάνω με αυτά είναι

Α) να εμφανίσω το κάθε session ξεχωριστά
B) να το ομαδοποιήσω και να τα εμφανίσω by name : 'name' => 'foo'
C) να μετρήσω όλα τα session που έχουν παραχθεί

λόγου του uniqid του πρόσθεσα το product_ με την ελπίδα ότι θα μπορέσω να τα βρώ μέσω αυτού, και έτσι έγιναν
product_1b3403665fea6 => array(
'name' => 'foo',
'serial' => 'foo-1-foo',
'price' => 0.99,
'quantity' => 1
)
product_2b3403665fea6 => array(
'name' => 'bar',
'serial' => 'bar-2-bar',
'price' => 3.99,
'quantity' => 45
)
product_3b3403665fea6 => array(
'name' => 'bar',
'serial' => 'bar-3-bar',
'price' => 1.99,
'quantity' => 2
)
και φυσικά μπορεί να γίνει και έτσι
foo_1b3403665fea6 => array(
'name' => 'foo',
'serial' => 'foo-1-foo',
'price' => 0.99,
'quantity' => 1
)
bar_2b3403665fea6 => array(
'name' => 'bar',
'serial' => 'bar-2-bar',
'price' => 3.99,
'quantity' => 45
)
bar_3b3403665fea6 => array(
'name' => 'bar',
'serial' => 'bar-3-bar',
'price' => 1.99,
'quantity' => 2
)

έχω μπερδευτεί με το πως πρέπει να το κάνω και πως να τα διαβάσω με αυτό το τρόπο, ψάχνοντας νομίζω οτι το array_intersect_key ίσως να είναι λύση στο θέμα της ομαδοποίησης. αλλά και πάλι δεν ξέρω πως να εμφανίσω όλα τα session που έχουν 'name' => 'foo' αλλά ούτε και το πως να διαβάσω τα session που αρχίζουν με product_* :roll:

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

πως να βρω πολλαπλά άγνωστα delimiter για explode

Δημοσίευση από sibas » 22 Μαρ 2017 12:10

τελικά αποφάσισα να τα αποθηκευω σε db αντι για session :D

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

πως να βρω πολλαπλά άγνωστα delimiter για explode

Δημοσίευση από fafos » 22 Μαρ 2017 12:52

efoson exeis thn dynatothta na vazeis oti onoma thes sthn session mporeis na to kaneis kai me sessions
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

neaegnatia
Δημοσιεύσεις: 48
Εγγραφή: 27 Απρ 2015 12:38

πως να βρω πολλαπλά άγνωστα delimiter για explode

Δημοσίευση από neaegnatia » 23 Μαρ 2017 08:38

θα μπορούσες να βγάλεις από session json και έπειτα με react ή angular να τα δουλέψεις.

Απάντηση

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

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

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