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

Php - Pass viittaamalla, eri Approach

Ennen kuin me vain hypätä ohimennen viittauksia toimintoja, antaa uudelleen paljon enemmän yhteistä lähestymistapaa, vain tarjota nopea kertaus niille, jotka ovat pois käytäntö, tai ne, jotka ovat juuri nyt laajenemassa ulottuvuuksiin toimintoja.

toiminto kohdannut php näyttää useimmiten suosikkisi Seuraavat kaksi esimerkkiä:

 //ei returnfunction SayHi () {echo "Hei minua, vastaamaan todellisia minua! ";} SayHi (); //Tulostaa meidän tekstiä 

Tämä on toiminto, joka tekee jotain lähtö tekstiä näytön, tai heittää virheen, tai mitä muuta haluat sen tehdä.


 //returnfunction growOld ($ ikä ) {$ ikä = $ ikä + 1; palata $ ikä;} $ myAge = 21; $ myAge = growOld ($ myAge); echo $ myAge; //22 

Voimme nähdä, että tämä toiminto vie muuttuja, oletettavasti ikä, ja kasvattaa sitä yhdellä, ennen paluutaan uusi lisäarvoa käyttäjälle. Hieman turha, mutta se osoittaa meidän kohta.

Nyt ilmoituksen toisen esimerkin meillä funktio parametrin $ ikä. Kun tämä toiminto on nimeltään, olet vain lähettämällä arvoa sille, onko se nykyinen arvo muuttujan, tai, vain numero, kuten "15".

Tätä kutsutaan "Pass arvon", ja on yleisin toiminto tyyppi, ylivoimaisesti. Nyt, mitä jos haluamme tehdä joitakin toimia meidän todellinen muuttuja, ei vain sen nykyinen arvo? Ajatella sitä eri tavalla, mitä jos haluamme muuttaa, mikä on meidän todellinen kontti sijasta kopio? Tarkastellaan seuraavaa esimerkkiä.

 //lisätä numeron meidän arrayfunction addAFive ($ array) {$ array [] = 5;} $ myArray = array ('1', '2', '3', "4"), addAFive ($ myArray), print_r ($ myArray); //Mikä on tuotoksen? 

Vastaus ei voi olla mitä mieltä olet.

Koska me vain läpäissyt kopio meidän $ myArray toiminnon, vain kopio annettiin "5". Alkuperäinen array edelleen sisältää vain numeroita 1,2,3, ja 4. Joten kysymys on, miten lähetämme todellinen kohde osaksi toiminto sijasta kopio? Vastaus on yksinkertainen "&". Aivan oikein, nöyrä Ampersand. Jos me esipuhe meidän muuttujan nimi meidän toiminto parametrilistasta tämän, niin toiminto tietää toimimaan todellinen kulunut kohta, ei kopio! Se on todella siistiä, check it out:

 //lisätä nimen meidän arrayfunction addAName (& $ array) //huomaa "ja" edellisen $ array {$ array [] = "Jake";} $ myArray = array ('Jane', 'John', 'Joey'); addAName ($ myArray), print_r ($ myArray); //Jake on nyt osa seuran! 

Eikö olekin ihmeellistä? Vain lisäämällä -merkki on muuttujan nimen, toiminto tietää nyt työskennellä todellinen muutt

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