Sida 1 av 1
fetch_assoc()[´namn´]
Postat: 7 september 2014, 13:58:40
av MadModder
Hur 17 skriver man denna lilla php 5.4-snutt så det funkar i 5.3?
Kod: Markera allt
while($row = $lag->fetch_assoc()['namn']) {
if($lagnamn === $row) {
$found=true;
}
Det är det där med arrary dereferencing. Man måste lagra värdet temporärt i en variabel och sen ta ut rätt element i 5.3, men jag har inte helt koll på vad -> egentligen gör heller så kommer inte på riktigt hur jag ska göra om while-loopen...
Re: fetch_assoc()[´namn´]
Postat: 7 september 2014, 14:01:21
av Muppis
Kod: Markera allt
while($row = $lag->fetch_assoc()) {
if($lagnamn === $row['namn']) {
$found=true;
}
Re: fetch_assoc()[´namn´]
Postat: 7 september 2014, 14:14:37
av MadModder
Hmm... det ser misstänkt enkelt ut att bara flytta namn
[edit]
Men jag kan meddela att det funkar utmärkt.

Tackar.
Re: fetch_assoc()[´namn´]
Postat: 10 september 2014, 11:39:35
av Wedge
Nedbrytning av uttrycket:
$lag->
Vi har ett objekt som heter "lag", och vi kikar in i det...
fetch_assoc()
Det vi pekar ur är nånting som heter "fetch_assoc", och det är en funktion (metod, om man ska vara helt OO-korrekt). Funktionen anropas, och lämnar tillbaka ett returvärde. Så här långt borde uttrycket $lag->fetch_assoc() vara likvärdigt med en associativ array, med tanke på funktionsnamnet. Detta klarar även fossila PHP-versioner.
['namn']
Med tillägget ['namn'] plockas elementet med namnet 'namn' ut ur arrayen. Relativt nytt påfund. Tidigare kunde man inte dereferera (?) funktionsreturvärden direkt, utan var tvungen att mellanlagra i en variabel som i sin tur kunde derefereras.