есть две константы, определеные как
define('ZAZA','dddddddddd');
define('SASA', 'aaaaaaaaa');
мне нужно подставить значения этих констант в функцию, например
[php]function myfunc($z, $s)
{
$str = ZAZA;
$str .= SASA;
return $str;
}
echo myfunc('.ZAZA.','.SASA.');
в итоге я должен получить = 'ddddddddddaaaaaaaaa', а получаю 'zazasasa', то есть константы не читаются.
пробовал так, например, constant('zaza')- результат тот же php не видит константы.
в чем моя ошибка?
спасибо за любую помощь
Спустя 12 минут, 55 секунд (1.06.2011 - 01:57) inpost написал(а):
skolozhabskiy
1) константы указывай большими буквами, чтобы выделять их среди имён функций. (это совет).
2) константы не надо обрамлять в кавычки, когда выводишь: $srt = ZAZA;
1) константы указывай большими буквами, чтобы выделять их среди имён функций. (это совет).
2) константы не надо обрамлять в кавычки, когда выводишь: $srt = ZAZA;
Спустя 20 минут, 55 секунд (1.06.2011 - 02:18) skolozhabskiy написал(а):
вы все верно пишите, так и делал - верхний регистр и без кавычек, все равно не видит просто читает их как есть и все. в чем может быть проблема? спасибо.
P.S. азы мне понятны, можете дать профессиональный совет хоть в какой области это смотреть?
P.S. азы мне понятны, можете дать профессиональный совет хоть в какой области это смотреть?
Спустя 26 минут, 43 секунды (1.06.2011 - 02:44) inpost написал(а):
skolozhabskiy
Создай файл, в нём сразу константу, за ней функцию, за ней вывод, и код скопируй сюда, а не вырезанные фразы
Создай файл, в нём сразу константу, за ней функцию, за ней вывод, и код скопируй сюда, а не вырезанные фразы
Спустя 39 секунд (1.06.2011 - 02:45) Lightt написал(а):
Выводи так -
Или так =)
define('ZAZA','dddddddddd');
define('SASA', 'aaaaaaaaa');
function myfunc($z, $s)
{
$str = ZAZA;
$str .= SASA;
return $str;
}
echo myfunc($z, $s) ."<br>";
Или так =)
echo ZAZA .SASA;
Спустя 5 минут, 32 секунды (1.06.2011 - 02:51) inpost написал(а):
Lightt
Эх, сделал за него то, что я хотел от него добиться
Эх, сделал за него то, что я хотел от него добиться
Спустя 5 минут, 23 секунды (1.06.2011 - 02:56) Lightt написал(а):
Да ночь же =) бывет такие тупняки ловишь...
Сам часто из за какой нибудь ерунды мог долго сидеть, которую на утро делал за 5 минут )
Сам часто из за какой нибудь ерунды мог долго сидеть, которую на утро делал за 5 минут )
Спустя 4 часа, 39 минут, 8 секунд (1.06.2011 - 07:35) skolozhabskiy написал(а):
доброе утро, спасибо за подсказки, но это не решение проблемы.
ошибка в том, что константа не определена, хотя в define все прописано правильно.
php не видит константу и интерпретирует ее как имя.
приводить функцию нет смысла, так это просто пример, константа это языковая константа в файлах en.php и ru.php, например
загружаются они в шапке index.php (include("translation/$lan"), где $lan - переменная коммутирующая переключение языка выбора файля языкового), а читаться должны в файле обработки кода test.php (код работает нормально, только константу не видно в этом файле). сам код test.php принципиального значения не имеет, если в нем поставить такое условие:
то все работает отлично и константа определена, но это не решает проблему так как определяет константу к одному языку и при переключении, например к англ. языку, значение останется тоже.
при таком подключении языковых файлов :
может кто-то подскажет путь решения проблемы, может как-то нужно определить константу по другому, через класс или еще как? если можно небольшой пример.
спасибо за помощь.
ошибка в том, что константа не определена, хотя в define все прописано правильно.
php не видит константу и интерпретирует ее как имя.
приводить функцию нет смысла, так это просто пример, константа это языковая константа в файлах en.php и ru.php, например
define('STRING_WELCOME', 'Welcome!');
define('STRING_WELCOME', 'Добро пожаловать!');
загружаются они в шапке index.php (include("translation/$lan"), где $lan - переменная коммутирующая переключение языка выбора файля языкового), а читаться должны в файле обработки кода test.php (код работает нормально, только константу не видно в этом файле). сам код test.php принципиального значения не имеет, если в нем поставить такое условие:
if (!defined(STRING_WELCOME)) {
define('STRING_WELCOME', 'Добро пожаловать!');
}
то все работает отлично и константа определена, но это не решает проблему так как определяет константу к одному языку и при переключении, например к англ. языку, значение останется тоже.
при таком подключении языковых файлов :
include 'translation/$lanphp';константы во всем проекте и во свсех файлах неопределены, а так
include "translation/$lanphp";или так :
include 'translation/'.$lanphp.'';определены везде, кроме test.php, о котором я писал.
может кто-то подскажет путь решения проблемы, может как-то нужно определить константу по другому, через класс или еще как? если можно небольшой пример.
спасибо за помощь.
Спустя 1 час, 2 минуты, 6 секунд (1.06.2011 - 08:37) inpost написал(а):
skolozhabskiy
Ты шутишь?
define('STRING_WELCOME'', 'Добро пожаловать!'); - уже грамматическая ошибка, как возможно "то все работает отлично" ?
Ты шутишь?
define('STRING_WELCOME'', 'Добро пожаловать!'); - уже грамматическая ошибка, как возможно "то все работает отлично" ?
Спустя 8 минут, 53 секунды (1.06.2011 - 08:46) skolozhabskiy написал(а):
это же просто описка. все исправил уже в посте предыдущем. может кто-то серьезно поможет с решением проблемы?
спасибо
спасибо
Спустя 20 минут, 32 секунды (1.06.2011 - 09:07) inpost написал(а):
skolozhabskiy
я 2 раза перечитал, так и не понял, что ты там замудрил, возможно просто сонный, но кто из какого куда и зачем открывается...
Если определил её до её использования - значит она уже определена, сегодня был похожий баг, оказалось в имени допустил грамматическую ошибку, советую и тебе проверить на имя, раз ты везде допускаешь ошибки.
Хотя на 90% уверен, что ты сначала пытаешься вывести, а уже потом определить, а должно быть наоборот. test идёт раньше подключения языка.
А по теме, давай код - дадим ошибку, а не мелкие выдержки. ПХП сам по себе работает правильно, проблема всегда в кривизне рук, а не видя эту кривизну с твоей стороны невозможно тебе помочь.
я 2 раза перечитал, так и не понял, что ты там замудрил, возможно просто сонный, но кто из какого куда и зачем открывается...
Если определил её до её использования - значит она уже определена, сегодня был похожий баг, оказалось в имени допустил грамматическую ошибку, советую и тебе проверить на имя, раз ты везде допускаешь ошибки.
Хотя на 90% уверен, что ты сначала пытаешься вывести, а уже потом определить, а должно быть наоборот. test идёт раньше подключения языка.
А по теме, давай код - дадим ошибку, а не мелкие выдержки. ПХП сам по себе работает правильно, проблема всегда в кривизне рук, а не видя эту кривизну с твоей стороны невозможно тебе помочь.
Спустя 3 часа, 55 минут, 9 секунд (1.06.2011 - 13:02) Игорь_Vasinsky написал(а):
Цитата |
function myfunc($z, $s) { $str = ZAZA; $str .= SASA; return $str; } echo myfunc('.ZAZA.','.SASA.'); |
во первых - ты используешь аргументы $z, $s - поэтому подставляя - в ковычках
echo myfunc('.ZAZA.','.SASA.');
если у тя константы предопределены, зачем пытаться сменить их через аргументы?
у тя распознаются как значение аргументов, поэтому и белиберда, наверное
если я не ошибаюсь (просто не использовал константы в функциях) у констант глобальная зона видимости, поэтому:
function myfunc()
{
$str = ZAZA.SASA;
return $str;
}
echo myfunc();
или
function myfunc($z, $s)
{
$str = $z.$s;
return $str;
}
echo myfunc("раз-","два");
как то так :)
Спустя 3 часа, 16 минут, 19 секунд (1.06.2011 - 16:18) skolozhabskiy написал(а):
спасибо, последний пост - я в предыдущем посте писал, что функция просто пример, но все равно спасибо большое за внимание. я все ак и делал. но результат тотже. очень прошу не обращать внимания на теничесие ошибки в постах. речь не о орфографической грамотности, а о конкретном вопросе с константами. еще раз всем спасибо
Спустя 8 минут, 15 секунд (1.06.2011 - 16:26) Игорь_Vasinsky написал(а):
Цитата |
речь не о орфографической грамотности, а о конкретном вопросе с константами. еще раз всем спасибо |
откуда мы знаем что это ты специально код корявишь?
ПОказал бы свой реальный код, в нём и будем разбираться
Спустя 2 часа, 23 минуты, 23 секунды (1.06.2011 - 18:50) skolozhabskiy написал(а):
специально я ничего не корявлю, просто когда бегло набираешь здесь случаются помарки. еще раз всем спасибо видимо вопрос задал очень сложно буду разбираться сам.
Спустя 14 минут, 58 секунд (1.06.2011 - 19:05) inpost написал(а):
skolozhabskiy
Давай я задам тебе встречный вопрос, если ты не ответишь на него, я скажу тебе "мой вопрос слишком сложный, и ты неудачник полнейший", или вообще что-нибудь с тобой сделаю. Вообщем я даже спрашивать разрешения у тебя не буду, задаю вопрос, жду ответа:
У меня есть скрипт, вообщем он не работает, это связано с командой preg_match и curl, помоги мне! Ещё раз, свой код показывать не буду, как ты и говоришь. Жду чёткого ответа, в чём проблема.
Давай я задам тебе встречный вопрос, если ты не ответишь на него, я скажу тебе "мой вопрос слишком сложный, и ты неудачник полнейший", или вообще что-нибудь с тобой сделаю. Вообщем я даже спрашивать разрешения у тебя не буду, задаю вопрос, жду ответа:
У меня есть скрипт, вообщем он не работает, это связано с командой preg_match и curl, помоги мне! Ещё раз, свой код показывать не буду, как ты и говоришь. Жду чёткого ответа, в чём проблема.