ziliboba0213

Рейтинг
831
Регистрация
03.09.2009
Интересы
Поделываю сайты
1981

3,6% сняли, тоже меньше обычного, обычно 5-6 :)

Дикий пионер:
Ну ребят, ну вы чего, 1 апреля что-ли?
Чтобы переменная стала доступна вне функции надо её глобальной объявить внутри функции, а return - он не для этого.
Так что или надо вот так вызывать: $eyestoppers = eyestopper();
или саму функцию переписывать, чтобы внутри было global $eyestoppers.
Это ж самые основы почти любого языка программирования - функции и область видимости.

Я об этом и писал выше... А я уж думать начал, что у меня мозг набекрень пошел...

DeusCredo:
<?php
$test = ' ';
function test(){
$test ="XXX";
return $test;}

echo test();
или же вот так test():
echo $test;
вот рабочий код. я не понимаю зачем вы в функцию передаете аргумент если вы не используете его в самой функции, ведь только для этого и нужны аргументы извне передать некоторые значения в функцию сделать с ними работу= получить результат, если изначально значение аргумента всегда пусто то аргумент не нужен.
У вас не получился результат потому что не вижу чтобы вы собственно вызывали в первом случае функцию, а потом уже делали echo $test, второй случай конечно работает потому как echo вызов функции а она всегда возвращает $test.

Ваш пример тоже не работает:


function eyestopper(){
$eyestoppers[] = array('1','2','3');
return $eyestoppers;
}
eyestopper();
if($eyestoppers){
print_r($eyestoppers);
}

будет работать только так:


function eyestopper(){
$eyestoppers[] = array('1','2','3');
return $eyestoppers;
}
eyestopper();
if( eyestopper() ){
print_r( eyestopper() );
}
DeusCredo:
можно если в функции есть конструкция return это будет значит что после завершения работы она вернет значение, в нашем случае переменную в которую записан результат функции

function ziliboba($test)
{
$test ='xxx';
return $test;
}

не выводит ничего:

echo $test;

а так выводит:

echo ziliboba($test);

Или я вас не правильно понял?

Разве можно переменную из функции вызывать извне? Я что-то сплю уже на ходу, если честно :)

DeusCredo:
насколько я вижу приравнивать к переменной не нужно только лишняя память, по коду из модели видно есть return $eyestoppers в которую и записан результат sql запроса так что можно сразу по $eyestoppers foreach пройтись

Разве так можно? Не пробовал так :)

DeusCredo:
ошибка какая? это самое главное научится понимать че нужно интерпритатору

У него $eyestoppers пустой. print_r не выводит ничего.

Можно вначале посмотреть:


function eyestopper(){
$query = "SELECT id, title, img, anons, date, author, description, keywords FROM articles WHERE visible='1'";
$res = mysql_query($query) or die (mysql_error());
while ($row = mysql_fetch_assoc($res)){
$eyestoppers[] = $row;
}
return $eyestoppers;
}
print_r( eyestopper() );
DeusCredo:
да что тут думать, у вас функция не вызывается а значит не работает.

Кстати да, нет же вызова самой функции, в примере по крайней мере...

Надо как то так, вроде:

$eyestoppers = eyestopper($eyestopper);

А потом уже перебирать:

foreach($eyestoppers as $eyestopper)

Смотрите тогда что в массиве выводится:

print_r($eyestoppers);
Abrupt:
А вот это и есть как раз очень плохая, деструктивная эмоция. Мне вас жаль.

Вы не путайте "скучно" и "с вами скучно" :)

Теперь:
Я видел, спасибо. Проверяю информацию - наблюдаю и прислушиваюсь. Если Вы правы - с меня поллитра. Но, учитывая, что Вы не пьёте, ведро безалкогольного пива. Мне сайт надо сделать про консалтинг, стратсессии и всякие коучунки, а я даже не знаю, в какую тему разместить объявление. А никто не воспринимает это серьёзно. Вот засада!

Стоп стоп стоп, я не пью только до 16 апреля 🤣

Всего: 15242