fetch_assoc()[´namn´]

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31401
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

fetch_assoc()[´namn´]

Inlägg 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...
Muppis
Inlägg: 275
Blev medlem: 15 februari 2007, 10:26:28
Ort: Halmstad

Re: fetch_assoc()[´namn´]

Inlägg av Muppis »

Kod: Markera allt

while($row = $lag->fetch_assoc()) {
    if($lagnamn === $row['namn']) {
        $found=true;
    }
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31401
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Re: fetch_assoc()[´namn´]

Inlägg av MadModder »

Hmm... det ser misstänkt enkelt ut att bara flytta namn :p

[edit]
Men jag kan meddela att det funkar utmärkt. :)
Tackar.
Användarvisningsbild
Wedge
Inlägg: 1026
Blev medlem: 8 juli 2012, 17:33:33

Re: fetch_assoc()[´namn´]

Inlägg 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.
Skriv svar