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_push [rezolvat]
Vezi mesajul original

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



Data înscrierii: 01/Mar/2005
Mesaje: 3001
Locație: țopăi pe tasta DELETE

Trimis: Lun Iun 09, 2008 12:24 pm    Titlul subiectului: array_push [rezolvat]  

se poate sa pun la array_push si key, adica ceva de genul

array_push($ar, 'key'=>'val')

?

cum fac asta?...


am asa:

$ar['nume'] = 'gigel';
$ar['prenume'] = 'costel';

si vreau sa adaug

$ar['data'] = 'azi';
$ar['alt_camp'] = 'val';

se poate?
Sus  
Amenthes



Data înscrierii: 12/Dec/2005
Mesaje: 574

Trimis: Lun Iun 09, 2008 1:36 pm    Titlul subiectului:  

Si de ce nu faci asa cum ai descris cazul ideal? De ce iti trebuie array_push?
Sus  
vectorialpx



Data înscrierii: 01/Mar/2005
Mesaje: 3001
Locație: țopăi pe tasta DELETE

Trimis: Lun Iun 09, 2008 1:54 pm    Titlul subiectului:  

pai, trebuie sa le pun dinamic...

am un while [care preia din baza de date].

deci, am asa:

$var = array('category'=>'text1');

apoi while-ul, care adauga in array:

do { array_push($var, 'category'=>$record_din_baza; } // care e incorect
while($asociere_array_db));

ca sa pot sa am

$var = array('category'=>'text1', 'category'=>'record_baza1', 'category'=>'record_baza2');
// key-ul imi trebuie pentru ca ma bazez pe el intr-un script si,
// poate fi si altceva deca 'category'... astfel ma folosesc doar de $var

/// edit /// am remarcat o alta solutie [sa fac un array bidimensional]
10x for time! :)
Sus  
mihaitha



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

Trimis: Lun Iun 09, 2008 2:24 pm    Titlul subiectului:  

array_push nu e necesar decat in cazul in care intentionezi sa folosesti array-ul pentru a simula o stiva (stack - structura de date de tip lista inlantuita cu acces LIFO - wiki it). In rest e suficient sa declari un element nou in array, si el va fi apendat la finalul array-ului. Cod:
$array = array('key1' => 'elem1', 'key2' => 'elem2', 'key3' => 'elem3');
$array['key4'] = 'elem4';
header('content-type: text/plain');
print_r($array);
rezultat Cod:
array(4) {
    key1 => elem1
    key2 => elem2
    key3 => elem3
    key4 => elem4
}
Sus  
Copyright



Data înscrierii: 17/Dec/2006
Mesaje: 860
Locație: Bucuresti

Trimis: Lun Iun 09, 2008 3:17 pm    Titlul subiectului:  

@octavian
Nu se poate face cu un singur array pentru ca array-urile au chei unice, ceea ce inseamna ca fiecare apel push va suprascrie cheia 'category'. O solutie este sa folosesti un array multidimensional.

$var = array(array('category'=>'text1'));

do{
array_push($var, array('category'=>$record_din_baza);
}while($asociere_array_db));

for($i = 0, $n = count($var); $i < $n; $i++){
accesezi $var[$i]['category'];
}


Later.
Sus  
vectorialpx



Data înscrierii: 01/Mar/2005
Mesaje: 3001
Locație: țopăi pe tasta DELETE

Trimis: Lun Iun 09, 2008 7:58 pm    Titlul subiectului:  

mihaita, stiu si eu ce e LIFO, am invatat intr-a noua

Copyright, da... ai dreptate
Citat: Nu se poate face cu un singur array pentru ca array-urile au chei unice, ceea ce inseamna ca fiecare apel push va suprascrie cheia 'category'
am gandit aiurea... asta faceam, suprascriam, am realizat la un print_r :D

am rezolvat, dupa cum am scris, cu un array bidimensional... dar, nu cum ai scris tu, am adaptat la problema mea

multumiri!
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 Incepători
Pagina 1 din 1


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