[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос по функции
maximka787
ребят, помогите с функцией. Почему вторая не возвращает значение?

$m[1] = "3";

function myfunc1($q) {
echo $q;
}

myfunc1(1); // Тут все нормально

function myfunc2($q) {
echo $m[$q]; // Вот тут наверно проблема
}

myfunc2(1);

Выводится только первая.



Спустя 1 минута, 57 секунд (4.08.2010 - 22:16) linker написал(а):
Потому что функция myfunc2 ничего не знает про массив $m. Читайте мануал про область видимости переменных. Заработает, если добавить в функцию:
function myfunc2($q) 
{
global $m;
echo $m[$q];
}

Спустя 2 минуты, 27 секунд (4.08.2010 - 22:18) maximka787 написал(а):
Цитата (linker @ 4.08.2010 - 19:16)
Потому что функция myfunc2 ничего не знает про массив $m. Читайте мануал про область видимости переменных. Заработает, если добавить в функцию:
function myfunc2($q) 
{
global $m;
echo $m[$q];
}

Спасибо)))))!! Все верно.

Спустя 13 часов, 18 минут, 38 секунд (5.08.2010 - 11:37) maximka787 написал(а):
А ещё вопрос, подскажете? Видимо это тоже как то связано с объявлением переменной

$S1[1]=5;
$S2[1]=5;

function form($q){

global $S1;
global $S2;

if($S1[$q]==$S2[$q]){ $L[$q]=='1'; }
else { $L[$q]=='0'; }
}


form(1); //Вызываем функцию
echo $L[1]; // НЕ ПОЛУЧАЕТ ПЕРЕМЕННУЮ

Спустя 19 минут, 24 секунды (5.08.2010 - 11:56) writer_88 написал(а):
<?php

$S1[1]=5;
$S2[1]=5;

function form($q){

global $S1;
global $S2;

if($S1[$q]==$S2[$q])
{
$L[$q]='1';
echo $L[$q];
}

else
{
$L[$q]='0';
echo $L[$q];
}

}
form(1);


?>

Спустя 2 минуты, 40 секунд (5.08.2010 - 11:59) writer_88 написал(а):
или

<?php

$S1[1]=5;
$S2[1]=5;

function form($q){

global $S1;
global $S2;
global $L;

if($S1[$q]==$S2[$q]){ $L[$q]='1'; }
else { $L[$q]='0'; }
}


form(1); //Вызываем функцию
echo $L[1]; // НЕ ПОЛУЧАЕТ ПЕРЕМЕННУЮ

?>

Спустя 10 минут, 6 секунд (5.08.2010 - 12:09) maximka787 написал(а):
Это я уже пробовал, ни первый вариант ни второй не работают.
Мне надо чтоб для каждой переменной q была переменная с результатом.

Спустя 4 минуты, 56 секунд (5.08.2010 - 12:14) Adil написал(а):
в функции возвращай результат при помощи return:
if($S1[$q] == $S2[$q]){ 
return $L[$q]=='1';
}



$var = form(1); //Вызываем функцию
echo $var[1];

Спустя 9 минут, 9 секунд (5.08.2010 - 12:23) writer_88 написал(а):
Цитата (maximka787 @ 5.08.2010 - 09:09)
Это я уже пробовал, ни первый вариант ни второй не работают.
Мне надо чтоб для каждой переменной q была переменная с результатом.

тебе что нужно массив заполнить?

Спустя 2 минуты, 9 секунд (5.08.2010 - 12:25) maximka787 написал(а):
Цитата (writer_88 @ 5.08.2010 - 09:23)
Цитата (maximka787 @ 5.08.2010 - 09:09)
Это я уже пробовал, ни первый вариант ни второй не работают.
Мне надо чтоб для каждой переменной q была переменная с результатом.

тебе что нужно массив заполнить?

Adil ВЕРНО ПОНЯЛ, мне надо массив заполнить.

$S1[1]=5;
$S2[1]=5;

function form($q){

global $S1;
global $S2;

if($S1[$q]==$S2[$q]){ return $L[$q]=='1'; }
else { return $L[$q]=='0'; }
}

$L = form(1); //$L[1] = form(1);
echo $L[1];

Это не работает

Спустя 2 минуты, 2 секунды (5.08.2010 - 12:27) maximka787 написал(а):
У меня эта функция будет вызываться несколько раз.

form(1);
form(2);

и тд

это сборщик ответов по тесту.

$L1 = 0 // первый вопрос неудачно
$L2 = 1 // второй вопрос правильно

Спустя 1 минута, 4 секунды (5.08.2010 - 12:28) Adil написал(а):
нельзя! return $L[$q]=='0'; 

надо return $L[$q]='0';

Спустя 1 минута, 18 секунд (5.08.2010 - 12:30) Adil написал(а):
Во рабочий пример:

<?php
$S1[1]=5;
$S2[1]=5;

function form($q){

global $S1;
global $S2;

if($S1[$q] == $S2[$q]){
$L[$q]='1';
}
else {
$L[$q]='0';
}
return $L;
}

$L = form(1); //$L[1] = form(1);
echo $L[1];
?>

Спустя 43 секунды (5.08.2010 - 12:30) maximka787 написал(а):
Цитата (Adil @ 5.08.2010 - 09:28)
нельзя! return $L[$q]=='0'; 

надо return $L[$q]='0';

Тоже самое, ничего не меняется

Спустя 48 секунд (5.08.2010 - 12:31) maximka787 написал(а):
Цитата (Adil @ 5.08.2010 - 09:30)
Во рабочий пример:

<?php

?>

Большое тебе спасибо. Все ОК

Спустя 55 секунд (5.08.2010 - 12:32) Adil написал(а):
возвращай переменную, после присвоения значения.

и знак '==' это сравнение
'=' это присвоение.

Спустя 8 минут, 12 секунд (5.08.2010 - 12:40) writer_88 написал(а):
максик ты что сцуко идиот, 3-й год на форуме не можеш отличить == от =.
ИДИ В ГУГЛЪ!

Спустя 27 минут, 32 секунды (5.08.2010 - 13:08) maximka787 написал(а):
Цитата (writer_88 @ 5.08.2010 - 09:40)
максик ты что сцуко идиот, 3-й год на форуме не можеш отличить == от =.
ИДИ В ГУГЛЪ!

Слушай, я 2 дня не сплю а программирую. Конечно иногда такую тупость допускаю. Бывает что и такие мелочи как раз не видно.

Спустя 3 минуты, 51 секунда (5.08.2010 - 13:12) ApuktaChehov написал(а):
А ты выспись и программируй. А то знаешь, программировать не кирпич класть, нужна ясная голова.

Спустя 34 минуты, 4 секунды (5.08.2010 - 13:46) writer_88 написал(а):
объяви массив к примеру
$a = array();
и в зависимости от того правильный ответ или неправильный заносиш в него 0 $a[]=0; или 1 $a[]=1;


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.