|
|
|
| Здравсвуйте, помогите вывести переменныю которая находится в фукции чтот её можно было видеть в скрипте, чтоб её можно было бы вывести, вот пример то чего не могу сделать.
<?php
function foo() {
$content = "Text";
}
//Сюда нужно вывести переменную $content
?>
|
| |
|
|
|
|
|
|
|
для: verg
(26.04.2010 в 21:36)
| | Вариант первый:
<?php
function foo() {
$content = 'Text';
echo $content;
return true;
}
foo() // вызов функции
|
Вариант второй:
<?php
function foo() {
$content = 'Text';
return $content;
}
echo foo() // вызов функции
|
| |
|
|
|
|
|
|
|
для: neadekvat
(26.04.2010 в 22:29)
| | Все равно за пределами функции я не могу использовать переменную $content , а мне нужно чтоб я мог выполнять любые действия с переменной $content вне функции, после того как функция была вызвана... Вызывать функцию я то умею )) | |
|
|
|
|
|
|
|
для: verg
(26.04.2010 в 22:41)
| | Вам не кажется, что "вывести" и "сделать доступной в разных частях программы" - это несколько разные вещи?
Есть волшебное слово global
Узнали слово? Забудьте.
<?php
function foo() {
$content = 'Text';
return $content;
}
$someVar = foo();
|
И пользуйтесь $someVar сколь душе угодно
Локальные переменные внутри функций должны таковыми оставаться.
Лично я вижу исключений только для переменных конфига и ошибок | |
|
|
|
|
|
|
|
для: neadekvat
(26.04.2010 в 22:44)
| | Мне нужно вывести именно ошибку... В моем, другом случае. Это я привел как пример... | |
|
|
|
|
|
|
|
для: verg
(26.04.2010 в 23:03)
| | Покажите как есть | |
|
|
|
|
|
|
|
для: neadekvat
(26.04.2010 в 23:04)
| |
function my_sms_send ($phones,$mes,$sender,$trans,$flash) {
#$phones="77059654263";
#$mes="Привет!\nкак дела?\nЧто Делаешь?";
#$sender="verg";
#$trans=0;
#$flash=0;
if ($trans==1)
{
$mes= ruslat($mes);
global $result;
$result = current(file("http://www.infobip.com/Addon/SMSService/SendSMS.aspx?user=login&password=pass&DataCoding=1&sender=$sender&SMSText=".urlencode($mes)."&IsFlash=$flash&GSM=$phones"));
//echo $mes;
}
else
{
$str = $mes;
$str_ucs2 = iconv('cp1251', 'ucs-2', $str);
for ( $i = 0, $result = ''; $i < strlen($str_ucs2); $i++ ) {
$result .= sprintf('%02X', ord($str_ucs2[$i]));
}
#print $result;
$mes=$result;
global $result;
$result = current(file("http://www.infobip.com/Addon/SMSService/SendSMS.aspx?user=login&password=pass&DataCoding=8&sender=$sender&IsFlash=$flash&GSM=$phones&binary=$mes"));
}
}
#вывести $result чтоб я смог ней пользоваться, d ней будет либо номер ошибки либо id sms
echo $result;
|
| |
|
|
|
|
|
|
|
для: verg
(26.04.2010 в 23:18)
| | И чем же return $result не устраивает? Ведь функция и должна возвращать эту переменную как результат выполнения функции. | |
|
|
|
|
|
|
|
для: neadekvat
(26.04.2010 в 23:22)
| | А как мне тогда использовать этот код ошибки, мне надо её в переменную сохранить, а потом уж проверить её и всё такое, мне нужна переменая $result, её значение... а я его не как не могу взять из функции и сохрать в какой то переменной | |
|
|
|
|
|
|
|
для: verg
(26.04.2010 в 23:31)
| | Вы сейчас серьезно? Нет, вот на полном серьезе говорите?
А попробовать то, что я уже n-ый пост показываю не судьба? | |
|
|
|
|
|
|
|
для: neadekvat
(26.04.2010 в 23:42)
| | 1 часть:
function my_sms_send ($phones,$mes,$sender,$trans,$flash) {
#$phones="77059654263";
#$mes="Привет!\nкак дела?\nЧто Делаешь?";
#$sender="verg";
#$trans=0;
#$flash=0;
if ($trans==1)
{
$mes= ruslat($mes);
global $result;
$result = current(file("http://www.infobip.com/Addon/SMSService/SendSMS.aspx?user=login&password=pass&DataCoding=1&sender=$sender&SMSText=".urlencode($mes)."&IsFlash=$flash&GSM=$phones"));
//echo $mes;
}
else
{
$str = $mes;
$str_ucs2 = iconv('cp1251', 'ucs-2', $str);
for ( $i = 0, $result = ''; $i < strlen($str_ucs2); $i++ ) {
$result .= sprintf('%02X', ord($str_ucs2[$i]));
}
#print $result;
$mes=$result;
global $result;
$result = current(file("http://www.infobip.com/Addon/SMSService/SendSMS.aspx?user=login&password=pass&DataCoding=8&sender=$sender&IsFlash=$flash&GSM=$phones&binary=$mes"));
return $result;
}
}
#вывести $result чтоб я смог ней пользоваться, d ней будет либо номер ошибки либо id sms
echo $result;
|
2 часть вывод функции самой :
$i= my_sms_send ($phones,$msg,$idsender,$trans=1,$flash=0);
echo $i;
|
И не чего не появляется, ошибка не появляется, а если я просто вывожу в функции (1 часть) echo $result, то ошибка есть | |
|
|
|
|
|
|
|
для: verg
(26.04.2010 в 23:48)
| | Во-первых, на форуме существует подсветка синтаксиса, ею следует пользоваться, выставляя в начале кода <?
Во-вторых, ваш код совершенно неудобоварим
Вам самому то нравится? Особенно вот этот кусочек веселый:
#print $result;
$mes=$result;
global $result;
$result = current(...);
return $result;
Если используете return - уберите global | |
|
|
|
|
|
|
|
для: neadekvat
(26.04.2010 в 23:54)
| | Кусочек не нравится, это я пока только настраиваю скрипт, потм конечно уберу, а global надо убрать... ошибка была в том что я не там вставил return не в тех скопка {}... потому что писал код гдет мсяц назад а сейчас вернулся... все работает. БОЛЬШОЕ СПАСИБО, neadekvat ))) | |
|
|
|
|
|
|
|
для: verg
(26.04.2010 в 23:58)
| | Старайтесь всегда писать сразу красивый и понятный, читабельный код.
Уверяю, одна из причин нынешней ошибки - смятый в кучу код.
Разгребайте
Удачи =) | |
|
|
|
|
|
|
|
для: neadekvat
(27.04.2010 в 00:07)
| | Вы правы, код смятый в кучю )))... из-за этого не мог быстро найти в чем проблемы была.... | |
|
|
|