IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Нужна помощь с PHP, вызов функции (http://www.imho.ws/showthread.php?t=125279)

Viroman 29.10.2007 17:23

Нужна помощь с PHP, вызов функции
 
Здравствуйте дорогие форумчане, нужна ваша помощь, а именно, наткнулся на проблему, что мне захотелось код своей страницы немного сузить до минимальных размеров, посему я решил выдрать те строки, которые повторяются многократно в одной и той же странице, и запихнуть их в функцию и потом её просто вызывать на том месте, где обычно они бы стояли как есть, эти строки, но столкнулся с проблемой, что сделав так программа не делает того, чего ожидаю, что делает обычно, когда код оставлен как есть, то есть возникает проблема с переменными, видимо в пхп5 они не глобальны и как то тут где то не контачится, в общем, вопрос, как сделать правильно.
PS: типа include и файл, где эти строки повторяются, пожалуйста не предлагать, работает хоть и отлично, но тоже как то глупо в отдельный файл каждую такую билеберду сувать.

Hubbitus 29.10.2007 21:15

Конечно по-умолчанию переменные не глобальны, то есть область их видимости ограничена.
http://ru2.php.net/manual/ru/languag...bles.scope.php

Melkor 30.10.2007 05:42

Насколько я понял у тебя фунция меняет значения переменной во время работы и не возвращает правильный результат.
Можно передавать переменные по ссылке, изменения минимальные.

PHP код:

<?php
function foo([B]&[/B]$var)
{
    
$var++;
}

$a=5;
foo($a);
// $a здесь равно 6
?>


EvroStandart 30.10.2007 11:17

Цитата:

Сообщение от Melkor (Сообщение 1477563)
function foo(&$var)

наверно так реальнее. Чтобы товарищ не запутался

Viroman 31.10.2007 12:33

Я просто шокирован информативностью ответов :rolleyes: Мне не нужно собственно передавать переменные в функцию, я всего лишь хотел добиться того, чтобы сократить код и не повторять одно и то же несколько раз.. дошло и до того, что мне посоветовали писать класс..

Hubbitus 31.10.2007 15:20

"Просто" - тогда используйте глобальные переменные.
Ну или приводите конкретнее вопросы. С примерами возможно. Что делаете, что хотите сделать, что что не получается!

А так можно долго гадать что же на самом деле Вам нужно....

EvroStandart 01.11.2007 13:21

Цитата:

Сообщение от Viroman (Сообщение 1478095)
посоветовали писать класс

В упор не вижу где это.


Цитата:

Сообщение от Viroman (Сообщение 1478095)
чтобы сократить код и не повторять одно и то же несколько раз

А функции в общем для этого и используются.


Часовой пояс GMT +4, время: 23:46.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.