Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Array :D [IMPORTANT]
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Subiectul anterior :: Subiectul următor  
Autor Mesaj
mblaky



Data înscrierii: 11/Sep/2007
Mesaje: 137

Trimis: Vin Noi 09, 2007 1:27 pm    Titlul subiectului: Array :D [IMPORTANT]  

Daca am un array $data = ('data1','data2');
Sa am o functie care sa adauge la array inca o data [ $data = ('data1','data2','data3'); ] ... si ceva care sa verifice daca un anumit text e continut in acel array de exemplu sa verifice daca data4 e acolo si sa zica ca nu e sau data2 si sa zica ca e...

ms anticipat...
Sus  
dechim



Data înscrierii: 10/Mai/2005
Mesaje: 634
Locație: Drobeta Turnu Severin

Trimis: Vin Noi 09, 2007 2:33 pm    Titlul subiectului:  

Citeste aici http://www.php.net/manual/en/ref.array.php
(vezi array_shift)
Sus  
kleampa



Data înscrierii: 10/Iul/2005
Mesaje: 2115
Locație: Bucuresti

Trimis: Vin Noi 09, 2007 3:09 pm    Titlul subiectului:  

array-ul se face de tipul: $array = array(val1,val2);
adaugarea unui nou element se face cu : $array[] = "elemen nou";
cautarea in array se face in_array()

mai multe info despre fiecare in manual
Sus  
mblaky



Data înscrierii: 11/Sep/2007
Mesaje: 137

Trimis: Vin Noi 09, 2007 3:31 pm    Titlul subiectului:  

Merci de sfaturi, am facut cam asa:
Cod:
$main = Array();
while ( /* conditie */ ) {
array_push($main,$new); // $new - Data extrasa inainte

// Cu mysql se primeste o noua valuare pentru $new

$data = array_intersect(Array('0'=>$new),$main);

if ( $data[0] == "" ) { /* Ce trebuie executat */ }

}//endwhile



Asa in cazul in care $new inregistreaza o data care se afla in array nu se executa ce trebuie executat decat o singura data pentru fiecare valoare a lui $new.
Sus  
dechim



Data înscrierii: 10/Mai/2005
Mesaje: 634
Locație: Drobeta Turnu Severin

Trimis: Vin Noi 09, 2007 5:32 pm    Titlul subiectului:  

Eu zic mai intai sa cauti daca exista DATA deja in array asa cum ti-a spus @kleampa cu in_array() si apoi sa adaugi data la array cu array_push() sau cu $data[]= $newdata;
N-am inteles ce vrei sa faci.
Sus  
mihaitha



Data înscrierii: 04/Mai/2007
Mesaje: 1763
Locație: Sibiu

Trimis: Dum Noi 11, 2007 12:26 pm    Titlul subiectului:  

iti garantez ca script-ul tau:
<? $main = Array(); while ( /* conditie */ ) {   array_push($main,$new); // $new - Data extrasa inainte   // Cu mysql se primeste o noua valuare pentru $new   $data = array_intersect(Array('0'=>$new),$main); if ( $data[0] == &quot;&quot; ) { /* Ce trebuie executat */ } }//endwhile  ?>
ruleaza de cel putin 5 ori mai lent decat varianta optimizata dupa sfaturile lui kleampa (pe care tu le ignori):
<? $main = Array(); while ( /* conditie */ ) {   // Cu mysql se primeste o noua valuare pentru $new   if (!in_array($new, $main)) {     $main[] = $new;     // eventual alt cod ce mai vrei sa il faca   } } ?>
Remember: KISS!
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community