$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) |
Спасибо)))))!! Все верно.
Спустя 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]; // НЕ ПОЛУЧАЕТ ПЕРЕМЕННУЮ
$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);
?>
$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]; // НЕ ПОЛУЧАЕТ ПЕРЕМЕННУЮ
?>
<?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 была переменная с результатом.
Мне надо чтоб для каждой переменной 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) | ||
тебе что нужно массив заполнить? |
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 // второй вопрос правильно
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'; |
Тоже самое, ничего не меняется
Спустя 48 секунд (5.08.2010 - 12:31) maximka787 написал(а):
Цитата (Adil @ 5.08.2010 - 09:30) |
Во рабочий пример:
|
Большое тебе спасибо. Все ОК
Спустя 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;
$a = array();
и в зависимости от того правильный ответ или неправильный заносиш в него 0 $a[]=0; или 1 $a[]=1;
_____________
..Работает - не трогай!