2 esrotiseis

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

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

Απάντηση
Άβαταρ μέλους
AAT
Δημοσιεύσεις: 379
Εγγραφή: 23 Αύγ 2007 16:31
Τοποθεσία: Lemesos, Limassol
Επικοινωνία:

2 esrotiseis

Δημοσίευση από AAT » 15 Φεβ 2008 19:43

Guys exw ena problima. Exw ena file poy se kathe grammh exei mia protash. Mipos iparxei tropos na metrisw poses grammes iparxoun sto file???

Defteron. Se afto to file poy elega prin mporw na kanw tis grammes toy na erthoun se random order?

Euxaristw poly.

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

2 esrotiseis

Δημοσίευση από Rapid-eraser » 15 Φεβ 2008 20:23

Υποθέτοντας ότι δεν είναι πολύ τεράστιο το αρχείο
μπορείς να χρησιμοποιήσεις την file().

Η file() μετατρέπει το περιεχόμενο του αρχείου σε πίνακα
βάζοντας κάθε γραμμή του αρχείου σε ένα διαφορετικό στοιχείο του πίνακα.

Με την εντολή count() μπορείς να πάρεις το μέγεθος του πίνακα και κατ επέκταση το σύνολο των γραμμών του αρχείου.

Μιας και τις βάλαμε και σε πίνακα όμως τις γραμμές καλό θα ήταν να πάρουμε μέσο του πίνακα την τυχαία γραμμή/ές. Αυτό μπορεί να γίνει με αρκετούς τρόπους.
1) Με δημιουργία τυχαίου αριθμού παίρνοντας ως range το 0 >= x < count(TouPinaka)
2) Κάνοντας χρήση του array_rand()
3) Κάνοντας χρήση του shuffle()

Στην περίπτωση σου που χρειάζεσαι ολικό ανακάτεμα του πίνακα η 3) είναι η περίπτωση που σου χρειάζεται
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
AAT
Δημοσιεύσεις: 379
Εγγραφή: 23 Αύγ 2007 16:31
Τοποθεσία: Lemesos, Limassol
Επικοινωνία:

2 esrotiseis

Δημοσίευση από AAT » 15 Φεβ 2008 20:38

thx!

Άβαταρ μέλους
AAT
Δημοσιεύσεις: 379
Εγγραφή: 23 Αύγ 2007 16:31
Τοποθεσία: Lemesos, Limassol
Επικοινωνία:

2 esrotiseis

Δημοσίευση από AAT » 15 Φεβ 2008 21:17

Problima:

exw ton kodika:

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

<?php
$data = file&#40;'users.dat'&#41;;
$d2 = count&#40;$data&#41;;
echo $d2 . '<hr /><br />';
$data = array_reverse&#40;$data&#41;;
foreach&#40;$data as $element&#41; &#123;
$element = $element;
   $element = trim&#40;$element&#41;;
   $pieces = explode&#40;"|", $element&#41;;
   $d1 = "Username&#58; " . $pieces&#91;0&#93; . " | " . "Password&#58; " . $pieces&#91;1&#93; .
   " | " . "Email&#58;" . $pieces&#91;2&#93; . "<br />";   
   echo $d1;
&#125;
?>
poy bazw to shuffle()?

Thanks

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

2 esrotiseis

Δημοσίευση από Rapid-eraser » 15 Φεβ 2008 21:26

H shuffle λειτουργεί κατευθείαν στον πίνακα που θες να ανακατέψεις.
Στην περίπτωσή σου μπορείς να αντικαταστήσεις την γραμμή που περιέχει τον κώδικα:

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

$data = array_reverse&#40;$data&#41;; 
με

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

shuffle&#40;$data&#41;;
Η αντιστροφή της σειράς των στοιχείων του κώδικα είναι περιττή όταν στο επόμενο βήμα θες την ανακάτωση τους.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
AAT
Δημοσιεύσεις: 379
Εγγραφή: 23 Αύγ 2007 16:31
Τοποθεσία: Lemesos, Limassol
Επικοινωνία:

2 esrotiseis

Δημοσίευση από AAT » 15 Φεβ 2008 21:27

Se euxaristw para poly!

Απάντηση

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

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

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