Moi
Käytän Symfonyn DOMCrawler oliota, kun haen HTML dokumentista tiettyjen elementtien arvoja.
Ongelmana on, etten saa tallennettua löytynyttä arvoa mihinkään muuttujaan. Alla pätkä koodia.
$taulukko = array(); // Silmukassa pyöritetään crawleria $crawler->filter($xpath)->each(function ($node) { // Sulkeuman sisällä voin tulostaa $node->nodeValue, ja jolla on han oikea arvo // En voi kuitenkaan tallentaa ko. arvoa muihin muuttujiin: miksi? // En voi esim. tallentaa ko. arvoa em. taulukko muuttujaan. });
Haluaisin siis saada arvon talteen myöhempää käsittelyä varten enkä ymmärrä, että mihin se katoaa.
Jos yritän aksessoida muita muuttujia esim. global muuttujia tuolla sulkeuman sisällä, niin ei sekään auta.
Ympäröivät muuttujat eivät näy nimettömässä funktiossa. Eivät ne mihinkään katoa, vaan näin homma toimii. Nimettömän funktion ympärillä olevia muuttujia voi kuitenkin sitoa funktioon use-sanalla.
$taulukko = []; $plaa->each(function ($node) use (&$taulukko) { $taulukko[] = $node; });
Voisit lukea alkeet nimettömistä funktioista.
Jos haluat käyttää globaaleja muuttujia, voit käyttää global-sanaa niiden esittelyyn funktion sisällä tai käyttää muuttujia $GLOBALS-taulukon kautta, mutta globaalit ovat yleensä huono idea.
Kiitos, tämä ohjasi oikeaan suuntaan. Lisäsin usen avulla muutaman muunkin muuttujan ja nyt pelaa.
Täytyy joskus yrittää löytää aikaa alkeiden opettelulle.
Tehään kuitenkin nyt ensin ja opetellaan vasta myöhemmin :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.