Daugiau
Kaip į masyvą perkelti ir reikšmę, ir raktą
Pažvelkite į šį kodą:
$GET = array();
$key = 'one=1';
$rule = explode('=', $key);
/* array_push($GET, $rule[0] => $rule[1]); */
Ieškau kažko panašaus į tai, kad:
print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */
Ar yra kokia nors funkcija, leidžianti tai padaryti? (nes array_push
taip neveiks)
326
3
Ne, asociatyviniams masyvams nėra
array_push()
atitikmens, nes nėra galimybės nustatyti kito rakto.Turėsite naudoti
Būtent tai, ką sakė Pekka...
Jei norėtumėte, tikriausiai galėtumėte naudoti array_merge taip:
Bet aš labiau norėčiau Pekka's metodo, nes jis daug paprastesnis.
Kaip tik ieškojau to paties ir supratau, kad ir vėl mano mąstymas skiriasi, nes esu senosios mokyklos atstovas. Esu grįžęs prie BASIC ir PERL, todėl kartais pamirštu, kaip viskas paprasta PHP.
Tiesiog padariau šią funkciją, kad paimčiau visus nustatymus iš duomenų bazės, kur jų yra 3 stulpeliai. setkey, item (key) & value (value) ir patalpinčiau juos į masyvą, pavadintą settings, naudodamas tą patį raktą / vertę, nenaudodamas push, kaip pirmiau.
Gana lengva & amp; paprastas tikrai
Taigi, kaip paaiškinta kituose pranešimuose... php nereikia "PUSH" masyvo, kai naudojate
Key => Value
IR... Taip pat nereikia pirmiausia apibrėžti masyvo.
$array=masyvas();
Nereikia apibrėžti ar stumti. Tiesiog priskirkite $array[$key] = $value; Tai automatiškai yra stūmimas ir deklaracija tuo pačiu metu.
Turiu pridurti, kad saugumo sumetimais, (P)oor (H)elpless (P)rotection, I means Programming for Dummies, I mean PHP.... hehehehe Siūlau šią sąvoką naudoti tik tam, ką aš ir norėjau. Bet koks kitas būdas gali kelti pavojų saugumui. Štai, padariau savo išlygą!