Вопрос по функциям.

Статус
В этой теме нельзя размещать новые ответы.

асс

Мой дом здесь!
Регистрация
13 Окт 2006
Сообщения
762
Реакции
230
Добрый день. Скажите пожалуйста.
Чем отличаеться функция от переменных?

Вот не врубаюсь хоть тресни.
Пример

HTML:
function zagolovok ($str, $n)
{
  echo  "<H$n>$str</H$n>";
}
zagolovok ("Часть", 1);
zagolovok ("Глава", 2);
zagolovok ("Раздел", 3);

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

HTML:
<title><?php echo $title;?> </title>
<meta name="keywords" content=""<?php echo $keywords;?>"">
<meta name="description" content=""<?php echo $description;?>"">



ниже идет код выбора данных из базы и ввод на стрнаницу

HTML:
 $title =stripslashes($r['title']);  //Название статьи
   $ids= $r['id'];      //Номер  новости
   $cate = $r['catid'];

как мне данные из перменной $title
закинуть в <title><?php echo $title;?> </title>

если я сделаю так

HTML:
 $title =stripslashes($r['title']);  //Название статьи
   $ids= $r['id'];      //Номер  новости
   $cate = $r['catid'];
<title><?php echo $title;?> </title>



то все будет работать.

Но у меня выборка из базы идет ниже чем вывод тайтлов.
 
ну, так делайте вывод TITLE-а ниже выборки из БД
сперва генерите все необходимые вам переменные, а затем делаете вывод, используя уже имеющиеся значения.
Либо используйте шаблонизаторы какие-нибудь.
Но в любом случае перед выводом в брыазуер, переменные уже должны быть определены(и подставлены в шаблон, в случае шаблонизатора)

немного не понял ваш вопрос:
Добрый день. Скажите пожалуйста.
Чем отличаеться функция от переменных?
[telepatemod]
вы имеете в виду,почему функция видна раньше ее определения, а переменная нет?
Потому что функция одня и та же, и не может быть изменена, либо определена два раза.
А переменная может менять значение, поэтому переменная видна только там где содбственно говоря она имеет значение
[/telepatemod]
 
немного не понял ваш вопрос:

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

Я имел ввиду что зачем пользоваться функцией?
Если есть переменные.
Или функции более гибкие.


Просто видел код в функции по другому немного сделан.


Нарпример



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

вот так
HTML:
$искомоеслово=вася
google.com/search?client=opera&q=$искомоеслово


если сделать так

HTML:
google.com/search?client=opera&q=[B]$искомоеслово[/B]
$искомоеслово=вася

не сработает. Так как $искомоеслово=вася определено после того как вызвана строка oogle.com/search?client=opera&q=$искомоеслово


а в функции

$искомоеслово=вася может быть ниже
строка oogle.com/search?client=opera&q=$искомоеслово



Я пробовал вызвать функцией Title но не вышло.
Наверное проще всего делать шаблонизатор и не париться.
В шаблонизаторе нет разницы где и что воткнуть.
 
Я имел ввиду что зачем пользоваться функцией?
Если есть переменные.
Или функции более гибкие.
Никогда не слышал большей ахинеи.
а ну, бегом учить матчасть, раздел о функциях, и для чего они используются

а в функции

$искомоеслово=вася может быть ниже
строка oogle.com/search?client=opera&q=$искомоеслово
Эт как еще?Покажите код
Подозреваю, что вы просто не умеет пользоватся функциями, и не отличаете параметры от локальных и глобальных переменных
 
Alternator +1

По поводу 1 поста

не рекомендую использовать такие конструкции
Код:
<title><?php echo $title;?> </title>
<meta name="keywords" content=""<?php echo $keywords;?>"">
<meta name="description" content=""<?php echo $description;?>"">

лучше использовать
PHP:
<?php
$title="title";
$keywords="keywords";
$description="description";

echo "
<title> ".$title." </title>
<meta name=\"keywords\" content=\"". $keywords."\">
<meta name=\"description\" content=\"".$description."\">
";
?>
 
Alternator +1

bunny, а собственно в чем принципиальное отличие?
 
Добрый день. Скажите пожалуйста.
Чем отличаеться функция от переменных?

Позволю себе посоветовать: не используйте пока свои функции, используйте переменные и библиотечные функции типа stripslashes(). Когда обнаружите, что у вас в скрипте много повторяющихся мест, вы сами придете к необходимости оформить повторяющийся код в функцию.

p.s. Для начала вы уже неплохо разбираетесь в коде.
 
bunny, а собственно в чем принципиальное отличие?

Просто один раз столкнулся что значений переменных не существует, когда прекручивал другу форму для обратной связи

толи ето было где то в настройкаъ толи еще что-то я не особо стал разбираться просто переписал в единый стек
PHP:
<?php ?>
 
Alternator +1

По поводу 1 поста

не рекомендую использовать такие конструкции
Код:
<title><?php echo $title;?> </title>
<meta name="keywords" content=""<?php echo $keywords;?>"">
<meta name="description" content=""<?php echo $description;?>"">

лучше использовать
PHP:
<?php
$title="title";
$keywords="keywords";
$description="description";

echo "
<title> ".$title." </title>
<meta name=\"keywords\" content=\"". $keywords."\">
<meta name=\"description\" content=\"".$description."\">
";
?>

У меня это в конфиге прописано
$title="title";
$keywords="keywords";
$description="description";


а конфиг подключаеться в файлик который отдает теги.
За 6 лет сайт созданый таким образом ни разу не глюкнул.


Ну еще есть вариант сделать все через

$out=<<<EOFF
<title> $title.</title>
<meta name="keywords" content="$keywords">

EOFF;
echo $out;

хотя по мне проще переменную воткнуть.
 
ТС явно не понимает, как организовать вывод после запроса к БД. Выход один - формировать контент перед выводом.

Поясняю:
1) делаем запрос к БД, и записываем результат запроса в переменную.
2) формируем и выводим HTML код.

Насчёт отличий процедур от функций... Да честно говоря отличий, примерно как между батоном хлеба и кучевыми облаками. Некорректно поставленый вопрос.

Переменная - то, что содержит данные. Данные туда можно присвоить или посмотреть, что в ней записано.
Функция - код с логикой, возвращающий результат в зависимости от входных данных. Логику программирует программист по своему желанию и фантазии.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху