*   >> Чтение Образование Статьи >> tech >> web design

PHP - Передавать по ссылке, другой подход

<р> Итак, прежде чем мы просто прыгнуть в мимолетных ссылок на функции, позволяет вернуться к гораздо более общий подход, так, чтобы обеспечить освежить для тех, кто из практики, или те, кто только сейчас расширяется в сферу функций.

<р> функция встречается в PHP выглядит наиболее часто любят одно из следующих двух примеров:

 //нет returnfunction SayHi () {эхо 'Hello! мне, отвечать на реальные меня ";} SayHi (); //Выводит наш текст <р> Это функция, которая будет делать что-то вроде вывода текста на экран, или выдаст ошибку, или то, что вы хотите это делать.


 //returnfunction growOld ($ возраста ) {$ = $ возраста возраст + 1 вернуться $ возраста;} $ туАде = 21; $ туАде = growOld ($ туАде); Эхо $ туАде; //22 <р> Мы видим, что эта функция принимает переменную, предположительно возраст, и увеличивает его на единицу, прежде чем вернуться новое значение для пользователя. Немного бесполезно, но она иллюстрирует нашу точку. 

<Р> Итак, обратите внимание на второй пример мы имеем параметр функции $ возрасте. Когда эта функция называется, вы просто отправив ему значение, является ли это текущее значение переменной, или, просто номер, как '15'.

Это называется "пройти мимо Значение", и является наиболее распространенным типом функции, на сегодняшний день. Теперь, что, если мы хотим, чтобы выполнить некоторые действия по нашей фактической переменной, а не только его текущее значение? Думать о нем по-другому, то, что, если мы хотим, чтобы изменить то, что в нашем фактическом контейнере, а не его копию? Рассмотрим следующий пример

 //добавить номер в нашей arrayfunction addAFive ($ массив) {$ массив [] = 5;}.

$ ТуАггау = массив ('1', '2', '3', '4'); addAFive ($ туАггау); print_r ($ туАггау); //Что выход? <Р> Ответ не может быть то, что вы думаете. Так как мы только прошли копию нашего $ туАггау функции, только копия была предоставлена ​​'5'. Исходный массив еще содержит только цифры 1,2,3 и 4. Таким образом, вопрос, как мы отправляем наши фактические пункт в функции вместо копии? Ответ простой "и". Это верно, скромный амперсанд.

Если мы предварить наше имя переменной в списке наша функция в параметре с этим, то функция будет знать, чтобы работать по фактической прошел пункта, а не копию! Это действительно здорово, проверить его:

 //добавить имя нашего arrayfunction addAName (& $ массива) //заметить "и" предыдущий $ массив {$ массив [] = 'Джейк';} $ туАггау = массив ('Джейн', 'Джон', 'Джой'); addAName ($ туАггау); print_r 

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.