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.
Virhe tarkoittaa sitä, että lukumuuttujaa koetetaan käyttää taulukkona. Mikä noista riveistä on 123.? Veikkaan, että olet asettanut muuttujan $_SESSION["foo"] arvoksi jotain aikaisemmin.
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;
Miltä $_SESSION-taulukko näyttää hetkeä ennen epäonnistunutta sijoitusta (testaa vaikka print_r-funktiolla)?
Hmm... ongelma ei enää ilmene, vaikken tehnyt mitään. Kerrassaan outoa :)
Taulukko näytti aivan normaalilta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.