Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Cannot use a scalar value as an array

Juice [30.06.2005 21:46:03]

#

Nyt en ymmärrä alkuunkaan. PHP valittaa virheestä "Cannot use a scalar value as an array on xxx on line 123". Tämä ymmärtääkseni tarkoittaa sitä, että ensin viitataan kokonaislukuun ja sitten taulukkoon. Mielestäni seuraava koodi on kyllä oikein.

for($i = 0;$i<count($_SESSION["bar"]);$i++){
    if($_SESSION["bar"][$i] == $id)
    {
        $_SESSION["foo"][$i]++;
        return(0);
    }
}

Asialla on kiire ja apua arvostetaan suuresti.

Antti Laaksonen [30.06.2005 21:58:28]

#

Virhe tarkoittaa sitä, että lukumuuttujaa koetetaan käyttää taulukkona. Mikä noista riveistä on 123.? Veikkaan, että olet asettanut muuttujan $_SESSION["foo"] arvoksi jotain aikaisemmin.

Juice [30.06.2005 22:07:35]

#

Virhe tulee seuraavalla rivillä:

$_SESSION["foo"][$i]++;

Muuttujaan ei kosketa muualla, tai silloinkin viitataan indeksiin:

$_SESSION["foo"][0] = 1;
$_SESSION["foo"][count($_SESSION["bar"])] = 1;

Antti Laaksonen [30.06.2005 22:10:22]

#

Miltä $_SESSION-taulukko näyttää hetkeä ennen epäonnistunutta sijoitusta (testaa vaikka print_r-funktiolla)?

Juice [30.06.2005 22:53:02]

#

Hmm... ongelma ei enää ilmene, vaikken tehnyt mitään. Kerrassaan outoa :)

Taulukko näytti aivan normaalilta.

Vastaus

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

Tietoa sivustosta