Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: PHP ja Array

Sivun loppuun

geggo74 [17.11.2009 17:16:05]

#

Miten saan lisättyä esim. seuraavan tiedon tuohon arrayn perään, ilman, että herjaa undefined index:

<?php
$tieto = "100000";

$temppi = array(
    array(1, 10, 'jokin_kentta01'),
    array(12, 5, 'jokin_kentta02'),
    array(20, 5, 'jokin_kentta03'),
    array(30, 5, $tieto),
);

Mod. lisäsi kooditagit

Grez [17.11.2009 17:18:09]

#

Yleensä:

$temppi[] = haluamasitieto;

OILgame [18.11.2009 18:08:47]

#

Mulla ainakin toimii tuo sun koodi. Onkohan sulla jokin vanha php:n versio?

Macro [18.11.2009 18:11:54]

#

Kysyjä varmaan halusi, että tuollaisen samanlaisen arrayn perään?

Ensinnäkin, otat tuon array(30, 4, $tieto) hommelin perästä pilkun pois. Sitten lisäät taulukkoon kentän $temppi[] = array(30, 5, "tieto");, niin taulukosta tulee seuraava:

<?php
$temppi = array(
    array(1, 10, 'jokin_kentta01'),
    array(12, 5, 'jokin_kentta02'),
    array(20, 5, 'jokin_kentta03'),
    array(30, 5, 'jokin_kentta04'),
    array(30, 5, 'tieto')
);

Lebe80 [19.11.2009 12:21:36]

#

Macro: ei vaan kysyjä halusi tuon sun 'tieto' kentän tilalle arvon "100000", eli $tieto -muuttujan arvon.

geggo74 [19.11.2009 20:02:09]

#

Lebe80 kirjoitti:

Macro: ei vaan kysyjä halusi tuon sun 'tieto' kentän tilalle arvon "100000", eli $tieto -muuttujan arvon.

Juuri näin. Nuo jokin_kenttä tiedot tulevat tietokannasta ja pitäisi saada lisättyä tuollainen "ulkopuolinen" tieto tuohon arrayhin.

Metabolix [19.11.2009 20:26:43]

#

Jos tarkoitat, että PHP-koodia pitäisi muokata dynaamisesti, kannattaa kyllä harkita uudestaan.

Helpoin ratkaisu olisi tallentaa taulukko erilliseen tiedostoon vaikka serialisoituna. (Tämä ei ole sama kuin PHP:n lähdekoodin muoto! Tallenna nykyinen taulukkosi, niin näet.)

<?php
# Lataus:
$taulukko = unserialize(file_get_contents("taulukko.txt"));

# Lisäys:
$taulukko[] = array(30, 5, $tieto);

# Tallennus:
file_put_contents("taulukko.txt", serialize($taulukko));

Tiedostojen kanssa pitää muistaa, että jos useampi käyttäjä sattuu sivulle samaan aikaan, voi olla, että molemmat lataavat alkuperäisen tiedoston ja tallentavat oman versionsa tilalle, jolloin jälkimmäinen tallennus kirjoittaa ensimmäisen päälle ja vain toinen muutos näkyy.

geggo74 [21.11.2009 08:37:42]

#

Metabolix kirjoitti:

Jos tarkoitat, että PHP-koodia pitäisi muokata dynaamisesti, kannattaa kyllä harkita uudestaan.

Tuo "ulkopuolinen" tieto olisi vakio, joten tällä sen lienee saisi toimimaan, kiitos tästä.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta