- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Подскажите чайнику.
Написал функцию f1 ($url) в которой получаю массив $links всех ссылок со страницы по адресу $url.
Далее мне надо использовать функцию для другой страницы, а массив обрабатывать вне функции.
Но вне функции php уже не понимает переменную $links , пишет ошибку Undefined variable $links, хотя она уже вроде как обработана функцией.
Получается, что после знака }, который закрывает функцию, переменные, которые в ней использовались уже не существуют, кроме самой $url?
А как мне использовать полученный массив линков $links?
Перед объявлением функции напишите:
$links = array();
В самой функции, сразу после открывающего {
global $links;
Не шедевр архитектуры Web-приложений, конечно, но должно работать. А на досуге почитайте что-нибудь про области видимости переменных (variable scope) в PHP
Используйте return в функции
Про global забудьте, колхоз и пережиток прошлого.
return $links;
А вообще да, http://www.google.ru/search?client=opera&rls=ru&q=%D1%83%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA+%D0%BF%D0%BE+php&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest
php.developer,
return $links; уже ошибку не пишет. Но и линки не выводит...
В моём случе в цикле foreach массива echo $link; не выводятся.
Если убираю функцию совсем - всё выводится
Где я что упустил?
Где я что упустил?
echo f1 ($site);
Еще раз посмотрите пример из поста 3. Где у вас присваивается результат функции?
echo f1 ($site);
Этим я вызываю функцию для обработки страницы $site.
В процессе выполнения функции получаю массив внутри.
А как быть с $links ?
Торможу.
---------- Добавлено 20.05.2013 в 17:28 ----------
Ага... Понял!
$links = f1($site);
Спасибо!!