Вход Регистрация
Файл: backUP/php_lsn/php3.html
Строк: 69
<?php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<
html>
<
head>
<
title>PHPШаг за шагом.</title>
<
meta content="text/html; charset=Windows-1251" http-equiv=Content-Type>
</
head>
<
LINK REL=STYLESHEET HREF="php.css" TYPE="text/css">
<
body text=black bgcolor=white link=blue vlink=blue alink=red>
<
center>
<
a name="top">
<
TABLE borderColor=#000000 cellSpacing=1 cellPadding=1 width=600 border=0 align="center">
<tr><td>

<
tr><td>
<
H1>ШАГ 3. С чего начинается Родина? (основы языка)</H1>
<
p>
С картинки в родном букваре ;) то есть с чтения (или хотя бы просмотра
документацииНе пугайтесьВ конце концовесли вы собираетесь работать на 
php вам когда
-либо все равно придется заглянуть туда и лучшеесли вы это 
сделаете сейчас
благо мануал у php очень удобныйлегкийне требующий 
длительного штудирования
но основы языка нужно знать и без чтения тут никак не 
обойтись
.</p>
<
div class=em>Вообще я потратил не мало времени за написанием скриптов на php и 
если это время можно измерить сотнями часов
то времяпотраченное на поиск 
нужных функций или решение проблем с осуществлением каких
-либо специфических 
операций
в общем время просиженной за документацийкак ни странноне более одного часаТак 
что еще раз повторю 
не пугайтесь и флаг (очкивам в руки.</div>
<
p>Начнем с тогочто для PHP сущестует 4-е способа 
      отделения его от общего кода HTML 
(имеется ввиду для интерпретации)</p>
<
div class=code>
<
PRE>1.  &lt;? echo ("SGML инструкцииn"); ?&#62;
 
2.  &lt;?php echo("XML документn"); ?&#62;

3.  &lt;script language="php"&#62; 
        
echo ("специально для FrontPage");
    &
lt;/script&#62;

4.  &lt;% echo ("ASP-стиль"); %&#62;
    
&lt;%= $variable# Комментарий "&lt;%echo .." %&#62;
      
</PRE>
</
div>      
 <
p>Далее необходимо коненчо сказать и о томчто инструкции в PHP отделяются друг от друга сишно-паскалевско-перловым способом точкой с запятойХотя перед закрывающим тегом (<code>?&gt;</code>) точку с запятой ставит не обязательно.</p>
 <
div class=code><pre>&lt;?php echo "This is a test"
 echo 
"This is a test also" ?&#62;</pre></div>
 
<p>PHP поддерживает комментарии в стиле 'C''C++' и Unix shellНапример:</p>
 <
div class=code><pre> &lt;?php
    
echo "test"// Комментарий в стиле C++
    /* Это многострочный
    комментарий     в стиле C++*/
    
echo "test2";
    echo 
"Test3"# Это unix-shell комментарий
?&#62; </pre></div>
<h2>ТИПЫ</h2>
<
ul>PHP поддерживает следующие типы данных:
<
li>integer (целочисленные)
<
li>floating-point numbers или double (числа с плавающей запятой)
<
li>string (строкитекст)
<
li>array (массивы)
<
li>object (обьекты)
</
ul>
<
p>Преобразование типов происходит следующим образомЕсли переменной при равнивается строка (текст в кавычкахто эта переменная становится строковойЕсли-жы с ней совершается одна из многих математических функций или она приравнивается численой переменойона становится численнойпричем если приравниваетс яне целому значению то станет типом doubleПример:</p>    
<
div class=code>$foo "0";  // $foo строка (ASCII 48)<br>
$foo++;      // $foo тоже строка "1" (ASCII 49)<br>
$foo += 1;   // $foo теперь integer (2)<br>
$foo $foo 1.3;  // $foo теперь double (3.3)<br>
$foo "10 паросят"// $foo теперь снова integer (15)<br>
$foo "10 ящиков";     // $foo и по прежнему integer (15)
<div class=comment>значение в скобках результирующее значение переменной</div>
</
div>
<
p>Преобразовывать типы можно чистА в сишном стиле:</p>
<
div class=code>$foo 10;   // $foo это integer<br>
$bar = (double) $foo;   // $bar это double</div>
<ul>
Разрешенный преобразования
<
li>(int), (integer) - cast to integer 
<li>(real), (double), (float) - cast to double 
<li>(string) - cast to string 
<li>(array) - cast to array 
<
li>(object) - cast to object 
</ul>
<
p>К статиопределить тип переменной можно функциями <code>gettype(), is_long(), is_double(), is_string(), is_array() и is_object().</code></p>
<
h2>ОБЛАСТЬ ВИДИМОСТИ ПЕРЕМЕННЫХ</h2>
<
p>Во-первыхВсе переменные начинаются с символа <code>$</code></p>
<
p>Во-вторых существуют границы определения переменныхНапример что-бы использовать глобальные переменные в функцияхнеобходимо их сначала декларировать как глобальныеиначе вы будете исопльзовать локальные переменныеПоясню на примере:</p>
<
div class=code>
$a 1/* глобальное определение */<br>
Function 
Test () { <br>
    
$a=2;<br>
    echo 
$a/* локальная переменная */ <br>
} <
br>
Test ();<br>
echo 
$a;<br>
</
div>
<
p>Таким образом в функции используется локальнаясобственная переменная и результатом прогарммы будет вывод чисел 2 и 1а не 2 и 2как некоторые могли подумать.</p>
<
p>Ну а если вы хотите в функции использовать глобальные переменныенеобходимо сделать так (декларировать с помощью оператора <code>global</code>):</p>
<
div class=code>
$a 1/* глобальное определение */ <br>
Function 
Test () { <br>
    global 
$a;<br>
    
$a=2;<br>
    echo 
$a/* локальная переменная */ <br>
} <
br>
Test ();<br>
echo 
$a;
</
div>
<
p>Теперь в функции вы переопредилили глобальную переменную и вывод будет числа 2 и 2. Но есть и другой способ добраться до глобально-определенных данных через ассоциативный массив <code>$GLOBALS[]</code>. Пример предыдущей программыреализованный новым способом:
</
p>
<
div class=code>
$a 1/* глобальное определение */ <br>
Function 
Test () { <br>
    
$GLOBALS["a"]=2;<br>
    echo 
$a/* локальная переменная */ <br>
} <
br>
Test ();<br>
echo 
$a;
</
div>
<
p>Обратите внимание переменная в массиве указывается без символа <code>$</code></p>
<
p>Кроме этог о PHP предоставляет возможность исопльзовать статические переменныйВсе как в C/C++.</p>
<
div class=code>
Function 
Test () { <br>
    static 
$a 0;    <br>    
    echo 
$a;<br>
    
$a++;<br>
}<
br>
Test();<br>
Test();<br>
Test();<br>
</
div>
<
p>Результатом выполнения этого скрипта будет вывод чисел <code>0,1 и 2</code>.</p>
<
h2>ПЕРЕМЕННЫЕ ПЕРЕМЕННЫЕ</h2>
<
p>Скорее всего скоро вам понадобятся переменныес динамически (в ходе работы скриптыизменяемым наименованиемПоясню на примерчто я имею ввиду:</p>
<
div class=code>
$a "hello";
$
$a "world";
</
div>
<
p>Данная запись означаетчто переменной с именем <code>a</codeмы присваиваем значение <code>"hello"</code>. Следующей операцией переменной с именемхранящимся в переменной с именем <code>a</code>, то есть переменной <code>hello</codeмы присваиваем занчение <code>"world"</code></p>
<
div class=code>
echo 
"$a ${$a}";
</
div>
<
p>тоже самоечто и</p>
<
div class=code>
echo 
"$a $hello";
</
div>     
<
p>В результаты мы получим на экране <code>hello world</code></p>
<
p>Дело ненмого усложняетсяесли вы хотите использовать подобные массивыВедь есл вы запишете <code>$$a[1]</code> - интерпретатору надо будет знатьчто использовать в качестве переменной - <code>$a</codeили <code>$$a</code> (имязранящееся в <code>$a</code>). В таком случаем вам прийдется исопльзовать следующий синтаксис - <code>${$a[1]}</codeв случаеесли вы хотите использовать переменную с именемзранящимся в массиве <code>$a</codeс индексмо <code>1</codeи <code>${$a}[1]</code>  в другом случае (если вы хотите использовать элемент <code>1</codeмассива с именемзранящимся в переменной <code>$a</code>.</p>
<
p>Надеюсь все понятноДо следующего выпуска!</p>
<
ul class=href>Ссылки на документацию по php
<
li class=href><A href="http://www.php.net/docs.php3">http://www.php.net/docs.php3</A> - on line список форматов документации.<br>
<li class=href><A href="http://www.php.net/distributions/manual.zip">http://www.php.net/distributions/manual.zip</A> - рекомендуая мной документация в формате HTML.<br>
</ul>
</
td></tr>
<
tr><td id="menu" class=menu>
<
center><a href=#top class=menu>ВВЕРХ</a></center><br>
<center><a href=php2.html class=menu>&lt;&lt;&lt;предыдущий шаг</a>
&
nbsp;&nbsp;<a href=php4.html class=menu>следующий шаг&gt;&gt;&gt;</a>
</
center></td></tr>
</
TABLE>

</
div>

</
body>
</
html>
?>
Онлайн: 1
Реклама