 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
vectorialpx
Data înscrierii: 01/Mar/2005
Mesaje: 3012
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: 616
|
| 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: 3012
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: 1781
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: 3012
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 |
|
| |
|