*   >> lukeminen koulutus Artikkelit >> tech >> web design

Php - Pass viittaamalla, eri Approach

uja sijasta kopio, joka hylätään lopussa toiminnon elinkaaren. Ilmeisesti tämä esimerkki on puhtaasti että - esimerkiksi ei liian hyödyllistä, mutta, jos käytät useita toimia yhden kohteen (erityisesti array) se on paljon helpompaa, ja puhtaampaa, siirtää kohde kuin varsinainen kohde.

varoitus kuitenkin, älä yritä siirtää viittauksen toiminto, joka ei odota sitä, koska se tuottaa "päivystysaika syötön viittaamalla" virhe:

 //tämä on ei allowedfunction someUnsuspectingFunction ($ array) //tämä odottaa kopio {$ array [] = "5";} $ myArray = array ('1', '2', '3', '4'); someUnsuspectingFunction (& $ myArray); //Tämä heittää exceptionprint_r ($ myArray); 

Ongelma tässä (nörtti hälytys) on että & todella tarkoittaa minulle "osoite" muuttujan manipuloida.

Joten, kun me kutsumme sitä oikein (toiminto func (& $ var) {}), toiminto tietää se on menossa osoitteeseen muistissa, ja tietää manipuloida objekti kyseisessä paikassa. Jos yritämme käyttää -merkki soitettaessa toiminto, väärällä tavalla (func (& $ myVar);), olemme kulkee todellisen muistin osoitteen muuttujan funktio, joka odottaa array, ei muistiosoitteen!

Joten, kun hieman sekava, se on varsin näppärä ja varsin hyödyllinen taito on alla ohjelmointi vyö!

Siinä kaikki nyt!


Page   <<  [1] [2] 
Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.