яРПНЙХ

яРПНЙЮ - ЩРН МЮАНП ЯХЛБНКНБ. б PHP ЯХЛБНК ЩРН РН ФЕ ЯЮЛНЕ, ВРН Х АЮИР, ЩРН ГМЮВХР, ВРН БНГЛНФМН ПНБМН 256 ПЮГКХВМШУ ЯХЛБНКНБ. щРН РЮЙФЕ НГМЮВЮЕР, ВРН PHP МЕ ХЛЕЕР БЯРПНЕММНИ ОНДДЕПФЙХ Unicode'Ю. мЕЙНРНПСЧ ОНДДЕПФЙС Unicode'Ю НАЕЯОЕВХБЮЧР ТСМЙЖХХ utf8_encode() Х utf8_decode().

Замечание: мЕР МХЙЮЙХУ ОПНАКЕЛ, ЕЯКХ ЯРПНЙЮ НВЕМЭ БЕКХЙЮ. оПЮЙРХВЕЯЙХ МЕ ЯСЫЕЯРБСЕР НЦПЮМХВЕМХИ МЮ ПЮГЛЕП ЯРПНЙ, МЮКЮЦЮЕЛШУ PHP, РЮЙ ВРН МЕР ЮАЯНКЧРМН МХЙЮЙХУ ОПХВХМ АЕЯОНЙНХРЭЯЪ НА ХУ ДКХМЕ.

яХМРЮЙЯХЯ

яРПНЙЮ ЛНФЕР АШРЭ НОПЕДЕКЕМЮ РПЕЛЪ ПЮГКХВМШЛХ ЯОНЯНАЮЛХ.

нДХМЮПМШЕ ЙЮБШВЙХ

оПНЯРЕИЬХИ ЯОНЯНА НОПЕДЕКХРЭ ЯРПНЙС - ЩРН ГЮЙКЧВХРЭ ЕЕ Б НДХМЮПМШЕ ЙЮБШВЙХ (ЯХЛБНК ').

вРНАШ ХЯОНКЭГНБЮРЭ НДХМЮПМСЧ ЙЮБШВЙС БМСРПХ ЯРПНЙХ, ЙЮЙ Х БН ЛМНЦХУ ДПСЦХУ ЪГШЙЮУ, ЕЕ МЕНАУНДХЛН ОПЕДБЮПХРЭ ЯХЛБНКНЛ НАПЮРМНИ ЙНЯНИ ВЕПРШ (\), Р. Е. ЩЙПЮМХПНБЮРЭ ЕЕ. еЯКХ НАПЮРМЮЪ ЙНЯЮЪ ВЕПРЮ ДНКФМЮ ХДРХ ОЕПЕД НДХМЮПМНИ ЙЮБШВЙНИ КХАН АШРЭ Б ЙНМЖЕ ЯРПНЙХ, БЮЛ МЕНАУНДХЛН ОПНДСАКХПНБЮРЭ ЕЕ. нАПЮРХРЕ БМХЛЮМХЕ, ВРН ЕЯКХ БШ ОНОШРЮЕРЕЯЭ ЩЙПЮМХПНБЮРЭ КЧАНИ ДПСЦНИ ЯХЛБНК, НАПЮРМЮЪ ЙНЯЮЪ ВЕПРЮ РЮЙФЕ АСДЕР МЮОЕВЮРЮМЮ! рЮЙ ВРН, ЙЮЙ ОПЮБХКН, МЕР МЕНАУНДХЛНЯРХ ЩЙПЮМХПНБЮРЭ ЯЮЛС НАПЮРМСЧ ЙНЯСЧ ВЕПРС.

Замечание: б PHP 3 Б ДЮММНЛ ЯКСВЮЕ АСДЕР БШДЮМН ЯННАЫЕМХЕ СПНБМЪ E_NOTICE.

Замечание: б НРКХВХЕ НР ДБСУ ДПСЦХУ ЯХМРЮЙЯХЯНБ, ОЕПЕЛЕММШЕ Х ЩЙПЮМХПСЧЫХЕ ОНЯКЕДНБЮРЕКЭМНЯРХ ДКЪ ЯОЕЖХЮКЭМШУ ЯХЛБНКНБ, БЯРПЕВЮЧЫХЕЯЪ Б ЯРПНЙЮУ, ГЮЙКЧВЕММШУ Б НДХМЮПМШЕ ЙЮБШВЙХ, МЕ НАПЮАЮРШБЮЧРЯЪ.

<?php
echo 'ЩРН ОПНЯРЮЪ ЯРПНЙЮ';

echo
'рЮЙФЕ БШ ЛНФЕРЕ БЯРЮБКЪРЭ Б ЯРПНЙХ
ЯХЛБНК МНБНИ ЯРПНЙХ РЮЙХЛ НАПЮГНЛ,
ОНЯЙНКЭЙС ЩРН МНПЛЮКЭМН'
;

// бШБЕДЕР: нДМЮФДШ юПМНКЭД ЯЙЮГЮК: "I'll be back"
echo 'нДМЮФДШ юПМНКЭД ЯЙЮГЮК: "I\'ll be back"';

// бШБЕДЕР: бШ СДЮКХКХ C:\*.*?
echo 'бШ СДЮКХКХ C:\\*.*?';

// бШБЕДЕР: бШ СДЮКХКХ C:\*.*?
echo 'бШ СДЮКХКХ C:\*.*?';

// бШБЕДЕР: щРН МЕ БЯРЮБХР: \n МНБСЧ ЯРПНЙС
echo 'щРН МЕ БЯРЮБХР: \n МНБСЧ ЯРПНЙС';

// бШБЕДЕР: оЕПЕЛЕММШЕ $expand РЮЙФЕ $either МЕ ОНДЯРЮБКЪЧРЯЪ
echo 'оЕПЕЛЕММШЕ $expand РЮЙФЕ $either МЕ ОНДЯРЮБКЪЧРЯЪ';
?>

дБНИМШЕ ЙЮБШВЙХ

еЯКХ ЯРПНЙЮ ГЮЙКЧВЕМЮ Б ДБНИМШЕ ЙЮБШВЙХ ("), PHP ПЮЯОНГМЮЕР АНКЭЬЕЕ ЙНКХВЕЯРБН СОПЮБКЪЧЫХУ ОНЯКЕДНБЮРЕКЭМНЯРЕИ ДКЪ ЯОЕЖХЮКЭМШУ ЯХЛБНКНБ:

Таблица 6-1. сОПЮБКЪЧЫХЕ ОНЯКЕДНБЮРЕКЭМНЯРХ

ОНЯКЕДНБЮРЕКЭМНЯРЭГМЮВЕМХЕ
\nМНБЮЪ ЯРПНЙЮ (LF ХКХ 0x0A (10) Б ASCII)
\rБНГБПЮР ЙЮПЕРЙХ (CR ХКХ 0x0D (13) Б ASCII)
\tЦНПХГНМРЮКЭМЮЪ РЮАСКЪЖХЪ (HT ХКХ 0x09 (9) Б ASCII)
\\НАПЮРМЮЪ ЙНЯЮЪ ВЕПРЮ
\$ГМЮЙ ДНККЮПЮ
\"ДБНИМЮЪ ЙЮБШВЙЮ
\[0-7]{1,3} ОНЯКЕДНБЮРЕКЭМНЯРЭ ЯХЛБНКНБ, ЯННРБЕРЯРБСЧЫЮЪ ПЕЦСКЪПМНЛС БШПЮФЕМХЧ, ЯХЛБНК Б БНЯЭЛЕПХВМНИ ЯХЯРЕЛЕ ЯВХЯКЕМХЪ
\x[0-9A-Fa-f]{1,2} ОНЯКЕДНБЮРЕКЭМНЯРЭ ЯХЛБНКНБ, ЯННРБЕРЯРБСЧЫЮЪ ПЕЦСКЪПМНЛС БШПЮФЕМХЧ, ЯХЛБНК Б ЬЕЯРМЮДЖЮРЕПХВМНИ ЯХЯРЕЛЕ ЯВХЯКЕМХЪ

оНБРНПЪЕЛ, ЕЯКХ БШ ГЮУНРХРЕ ЛМЕЛМНМХГХПНБЮРЭ КЧАНИ ДПСЦНИ ЯХЛБНК, НАПЮРМЮЪ ЙНЯЮЪ ВЕПРЮ РЮЙФЕ АСДЕР МЮОЕВЮРЮМЮ!

мН ЯЮЛШЛ БЮФМШЛ ЯБНИЯРБНЛ ЯРПНЙ Б ДБНИМШУ ЙЮБШВЙЮУ ЪБКЪЕРЯЪ НАПЮАНРЙЮ ОЕПЕЛЕММШУ. яЛНРПХРЕ АНКЕЕ ОНДПНАМН: НАПЮАНРЙЮ ЯРПНЙ.

Heredoc

дПСЦНИ ЯОНЯНА НОПЕДЕКЕМХЪ ЯРПНЙ - ЩРН ХЯОНКЭГНБЮМХЕ heredoc-ЯХМРЮЙЯХЯЮ ("<<<"). оНЯКЕ <<< МЕНАУНДХЛН СЙЮГЮРЭ ХДЕМРХТХЙЮРНП, ГЮРЕЛ ХДЕР ЯРПНЙЮ, Ю ОНРНЛ ЩРНР ФЕ ХДЕМРХТХЙЮРНП, ГЮЙПШБЮЧЫХИ БЯРЮБЙС.

гЮЙПШБЮЧЫХИ ХДЕМРХТХЙЮРНП ДНКФЕМ МЮВХМЮРЭЯЪ Б ОЕПБНЛ ЯРНКАЖЕ ЯРПНЙХ. йПНЛЕ РНЦН, ХДЕМРХТХЙЮРНП ДНКФЕМ ЯННРБЕРЯРБНБЮРЭ РЕЛ ФЕ ОПЮБХКЮЛ ХЛЕМНБЮМХЪ, ВРН Х БЯЕ НЯРЮКЭМШЕ ЛЕРЙХ Б PHP: ЯНДЕПФЮРЭ РНКЭЙН АСЙБЕММН-ЖХТПНБШЕ ЯХЛБНКШ Х ГМЮЙ ОНДВЕПЙХБЮМХЪ, Х ДНКФЕМ МЮВХМЮРЭЯЪ Я МЕЖХТПШ ХКХ ГМЮЙЮ ОНДВЕПЙХБЮМХЪ.

Внимание

нВЕМЭ БЮФМН НРЛЕРХРЭ, ВРН ЯРПНЙЮ Я ГЮЙПШБЮЧЫХЛ ХДЕМРХТХЙЮРНПНЛ МЕ ЯНДЕПФХР ДПСЦХУ ЯХЛБНКНБ, ГЮ ХЯЙКЧВЕМХЕЛ, БНГЛНФМН, РНВЙХ Я ГЮОЪРНИ (;). щРН НГМЮВЮЕР, ВРН ХДЕМРХТХЙЮРНП МЕ ДНКФЕМ ББНДХРЭЯЪ Я НРЯРСОНЛ Х ВРН МЕ ЛНФЕР АШРЭ МХЙЮЙХУ ОПНАЕКНБ ХКХ ГМЮЙНБ РЮАСКЪЖХХ ДН ХКХ ОНЯКЕ РНВЙХ Я ГЮОЪРНИ. бЮФМН РЮЙФЕ ОНМХЛЮРЭ, ВРН ОЕПБШЛ ЯХЛБНКНЛ ОЕПЕД ГЮЙПШБЮЧЫХЛ ХДЕМРХТХЙЮРНПНЛ ДНКФЕМ АШРЭ ЯХЛБНК МНБНИ ЯРПНЙХ, НОПЕДЕКЕММШИ Б БЮЬЕИ НОЕПЮЖХНММНИ ЯХЯРЕЛЕ. мЮОПХЛЕП, МЮ Macintosh ЩРН \r.

еЯКХ ЩРН ОПЮБХКН МЮПСЬЕМН Х ГЮЙПШБЮЧЫХИ ХДЕМРХТХЙЮРНП МЕ ЪБКЪЕРЯЪ "ВХЯРШЛ", ЯВХРЮЕРЯЪ, ВРН ГЮЙПШБЮЧЫХИ ХДЕМРХТХЙЮРНП НРЯСРЯРБСЕР Х PHP ОПНДНКФХР ЕЦН ОНХЯЙ ДЮКЭЬЕ. еЯКХ Б ЩРНЛ ЯКСВЮЕ БЕПМШИ ГЮЙПШБЮЧЫХИ ХДЕМРХТХЙЮРНП РЮЙ Х МЕ АСДЕР МЮИДЕМ, РН ЩРН БШГНБЕР НЬХАЙС Б НАПЮАНРЙЕ Я МНЛЕПНЛ ЯРПНЙХ Б ЙНМЖЕ ЯЙПХОРЮ.

Heredoc-РЕЙЯР БЕДЕР ЯЕАЪ РЮЙ ФЕ, ЙЮЙ Х ЯРПНЙЮ Б ДБНИМШУ ЙЮБШВЙЮУ, ОПХ ЩРНЛ ХУ МЕ ХЛЕЪ. щРН НГМЮВЮЕР, ВРН БЮЛ МЕР МЕНАУНДХЛНЯРХ ЩЙПЮМХПНБЮРЭ ЙЮБШВЙХ Б heredoc, МН БШ ОН-ОПЕФМЕЛС ЛНФЕРЕ ХЯОНКЭГНБЮРЭ БШЬЕОЕПЕВХЯКЕММШЕ СОПЮБКЪЧЫХЕ ОНЯКЕДНБЮРЕКЭМНЯРХ. оЕПЕЛЕММШЕ НАПЮАЮРШБЮЧРЯЪ, МН Я ОПХЛЕМЕМХЕЛ ЯКНФМШУ ОЕПЕЛЕММШУ БМСРПХ heredoc МСФМН АШРЭ РЮЙФЕ БМХЛЮРЕКЭМШЛ, ЙЮЙ Х ОПХ ПЮАНРЕ ЯН ЯРПНЙЮЛХ.

Пример 6-2. оПХЛЕП НОПЕДЕКЕМХЪ heredoc-ЯРПНЙХ

<?php
$str
= <<<EOD
оПХЛЕП ЯРПНЙХ,
НУБЮРШБЮЧЫЕИ МЕЯЙНКЭЙН ЯРПНВЕЙ,
Я ХЯОНКЭГНБЮМХЕЛ heredoc-ЯХМРЮЙЯХЯЮ.
EOD;

/* аНКЕЕ ЯКНФМШИ ОПХЛЕП Я ОЕПЕЛЕММШЛХ. */
class foo
{
    var
$foo;
    var
$bar;

    function
foo()
    {
        
$this->foo = 'Foo';
        
$this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
}

$foo = new foo();
$name = 'лНЕхЛЪ';

echo <<<EOT
лЕМЪ ГНБСР "$name". ъ ОЕВЮРЮЧ $foo->foo.
рЕОЕПЭ Ъ БШБНФС
{$foo->bar[1]}.
щРН ДНКФМН БШБЕЯРХ ГЮЦКЮБМСЧ АСЙБС 'A':
\x41
EOT;
?>

Замечание: оНДДЕПФЙЮ heredoc АШКЮ ДНАЮБКЕМЮ Б PHP 4.

нАПЮАНРЙЮ ОЕПЕЛЕММШУ

еЯКХ ЯРПНЙЮ НОПЕДЕКЪЕРЯЪ Б ДБНИМШУ ЙЮБШВЙЮУ, КХАН ОПХ ОНЛНЫХ heredoc, ОЕПЕЛЕММШЕ БМСРПХ МЕЕ НАПЮАЮРШБЮЧРЯЪ.

яСЫЕЯРБСЕР ДБЮ РХОЮ ЯХМРЮЙЯХЯЮ: ОПНЯРНИ Х ЯКНФМШИ. оПНЯРНИ ЯХМРЮЙЯХЯ АНКЕЕ КЕЦНЙ Х СДНАЕМ. нМ ДЮЕР БНГЛНФМНЯРЭ НАПЮАНРЙХ ОЕПЕЛЕММНИ, ГМЮВЕМХЪ ЛЮЯЯХБЮ (array) ХКХ ЯБНИЯРБЮ НАЗЕЙРЮ (object).

яКНФМШИ ЯХМРЮЙЯХЯ АШК ББЕДЕМ Б PHP 4 Х ЛНФЕР АШРЭ ПЮЯОНГМЮМ ОН ТХЦСПМШЛ ЯЙНАЙЮЛ, НЙПСФЮЧЫХУ БШПЮФЕМХЕ.

оПНЯРНИ ЯХМРЮЙЯХЯ

еЯКХ ХМРЕПОПЕРЮРНП БЯРПЕВЮЕР ГМЮЙ ДНККЮПЮ ($), НМ ГЮУБЮРШБЮЕР РЮЙ ЛМНЦН ЯХЛБНКНБ, ЯЙНКЭЙН БНГЛНФМН, ВРНАШ ЯТНПЛХПНБЮРЭ ОПЮБХКЭМНЕ ХЛЪ ОЕПЕЛЕММНИ. еЯКХ БШ УНРХРЕ РНВМН НОПЕДЕКХРЭ ЙНМЕЖ ХЛЕМХ, ГЮЙКЧВЮИРЕ ХЛЪ ОЕПЕЛЕММНИ Б ТХЦСПМШЕ ЯЙНАЙХ.

<?php
$beer
= 'Heineken';
echo
"$beer's taste is great"; // ПЮАНРЮЕР, "'" ЩРН МЕБЕПМШИ ЯХЛБНК ДКЪ ХЛЕМХ ОЕПЕЛЕММНИ
echo "He drank some $beers";   // МЕ ПЮАНРЮЕР, 's' ЩРН БЕПМШИ ЯХЛБНК ДКЪ ХЛЕМХ ОЕПЕЛЕММНИ
echo "He drank some ${beer}s"; // ПЮАНРЮЕР
echo "He drank some {$beer}s"; // ПЮАНРЮЕР
?>

рНВМН РЮЙФЕ ЛНЦСР АШРЭ НАПЮАНРЮМШ ЩКЕЛЕМР ЛЮЯЯХБЮ (array) ХКХ ЯБНИЯРБН НАЗЕЙРЮ (object). б ХМДЕЙЯЮУ ЛЮЯЯХБЮ ГЮЙПШБЮЧЫЮЪ ЙБЮДПЮРМЮЪ ЯЙНАЙЮ (]) НАНГМЮВЮЕР ЙНМЕЖ НОПЕДЕКЕМХЪ ХМДЕЙЯЮ. дКЪ ЯБНИЯРБ НАЗЕЙРЮ ОПХЛЕМЪЧРЯЪ РЕ ФЕ ОПЮБХКЮ, ВРН Х ДКЪ ОПНЯРШУ ОЕПЕЛЕММШУ, УНРЪ Я МХЛХ МЕБНГЛНФЕМ РПЧЙ, ЙЮЙ Я ОЕПЕЛЕММШЛХ.

<?php
// щРХ ОПХЛЕПШ ЯОЕЖХТХВЕЯЙХ НА ХЯОНКЭГНБЮМХХ ЛЮЯЯХБНБ БМСРПХ
// ЯРПНЙ. бМЕ ЯРПНЙ БЯЕЦДЮ ГЮЙКЧВЮИРЕ ЯРПНЙНБШЕ ЙКЧВХ БЮЬЕЦН
// ЛЮЯЯХБЮ Б ЙЮБШВЙХ Х МЕ ХЯОНКЭГСИРЕ БМЕ ЯРПНЙ {ЯЙНАЙХ}.

// дЮБЮИРЕ ОНЙЮФЕЛ БЯЕ НЬХАЙХ
error_reporting(E_ALL);

$fruits = array('strawberry' => 'red', 'banana' => 'yellow');

// пЮАНРЮЕР, МН ГЮЛЕРЭРЕ, ВРН БМЕ ЙЮБШВЕЙ ЯРПНЙХ ЩРН ПЮАНРЮЕР ОН-ДПСЦНЛС
echo "A banana is $fruits[banana].";

//пЮАНРЮЕР
echo "A banana is {$fruits['banana']}.";

// пЮАНРЮЕР, МН PHP, ЙЮЙ НОХЯЮМН МХФЕ, ЯМЮВЮКЮ ХЫЕР
// ЙНМЯРЮМРС banana.
echo "A banana is {$fruits[banana]}.";

// мЕ ПЮАНРЮЕР, ХЯОНКЭГСИРЕ ТХЦСПМШЕ ЯЙНАЙХ. щРН БШГНБЕР НЬХАЙС НАПЮАНРЙХ.
echo "A banana is $fruits['banana'].";

// пЮАНРЮЕР
echo "A banana is " . $fruits['banana'] . ".";

// пЮАНРЮЕР
echo "This square is $square->width meters broad.";

// мЕ ПЮАНРЮЕР. дКЪ ПЕЬЕМХЪ ЯЛ. ЯКНФМШИ ЯХМРЮЙЯХЯ.
echo "This square is $square->width00 centimeters broad.";
?>

дКЪ ВЕЦН-КХАН АНКЕЕ ЯКНФМНЦН БШ ДНКФМШ ХЯОНКЭГНБЮРЭ ЯКНФМШИ ЯХМРЮЙЯХЯ.

яКНФМШИ (ТХЦСПМШИ) ЯХМРЮЙЯХЯ

нМ МЮГШБЮЕРЯЪ ЯКНФМШЛ МЕ ОНРНЛС, ВРН РПСДЕМ Б ОНМХЛЮМХХ, Ю ОНРНЛС ВРН ОНГБНКЪЕР ХЯОНКЭГНБЮРЭ ЯКНФМШЕ БШПЮФЕМХЪ.

тЮЙРХВЕЯЙХ, БШ ЛНФЕРЕ БЙКЧВХРЭ КЧАНЕ ГМЮВЕМХЕ, МЮУНДЪЫЕЕЯЪ Б ОПНЯРПЮМЯРБЕ ХЛЕМХ Б ЯРПНЙЕ Я ЩРХЛ ЯХМРЮЙЯХЯНЛ. бШ ОПНЯРН ГЮОХЯШБЮЕРЕ БШПЮФЕМХЕ РЮЙХЛ ФЕ НАПЮГНЛ, ЙЮЙ Х БМЕ ЯРПНЙХ, Ю ГЮРЕЛ ГЮЙКЧВЮЕРЕ ЕЦН Б { Х }. оНЯЙНКЭЙС БШ МЕ ЛНФЕРЕ ЩЙПЮМХПНБЮРЭ '{', ЩРНР ЯХМРЮЙЯХЯ АСДЕР ПЮЯОНГМЮБЮРЭЯЪ РНКЭЙН ЙНЦДЮ $ ЯКЕДСЕР МЕОНЯПЕДЯРБЕММН ГЮ {. (хЯОНКЭГСИРЕ "{\$" ХКХ "\{$" ВРНАШ НРНАПЮГХРЭ "{$"). мЕЯЙНКЭЙН ОНЪЯМЪЧЫХУ ОПХЛЕПНБ:

<?php
// дЮБЮИРЕ ОНЙЮФЕЛ БЯЕ НЬХАЙХ
error_reporting(E_ALL);

$great = 'fantastic';

// мЕ ПЮАНРЮЕР, БШБЕДЕР: This is { fantastic}
echo "This is { $great}";

// пЮАНРЮЕР, БШБЕДЕР: This is fantastic
echo "This is {$great}";
echo
"This is ${great}";

// пЮАНРЮЕР
echo "щРНР ЙБЮДПЮР ЬХПХМНИ {$square->width}00 ЯЮМРХЛЕРПНБ.";

// пЮАНРЮЕР
echo "щРН ПЮАНРЮЕР: {$arr[4][3]}";

// щРН МЕБЕПМН ОН РНИ ФЕ ОПХВХМЕ, ВРН Х $foo[bar] МЕБЕПМН БМЕ
// ЯРПНЙХ. дПСЦХЛХ ЯКНБЮЛХ, ЩРН ОН-ОПЕФМЕЛС АСДЕР ПЮАНРЮРЭ,
// МН ОНЯЙНКЭЙС PHP ЯМЮВЮКЮ ХЫЕР ЙНМЯРЮМРС foo, ЩРН БШГНБЕР
// НЬХАЙС СПНБМЪ E_NOTICE (МЕНОПЕДЕКЕММЮЪ ЙНМЯРЮМРЮ).
echo "щРН МЕОПЮБХКЭМН: {$arr[foo][3]}";

// пЮАНРЮЕР. оПХ ХЯОНКЭГНБЮМХХ ЛМНЦНЛЕПМШУ ЛЮЯЯХБНБ, БМСРПХ
// ЯРПНЙ БЯЕЦДЮ ХЯОНКЭГСИРЕ ТХЦСПМШЕ ЯЙНАЙХ
echo "щРН ПЮАНРЮЕР: {$arr['foo'][3]}";

// пЮАНРЮЕР.
echo "щРН ПЮАНРЮЕР: " . $arr['foo'][3];

echo
"бШ ДЮФЕ ЛНФЕРЕ ГЮОХЯЮРЭ {$obj->values[3]->name}";

echo
"щРН ГМЮВЕМХЕ ОЕПЕЛЕММНИ ОН ХЛЕМХ $name: {${$name}}";
?>

дНЯРСО Й ЯХЛБНКС Б ЯРПНЙЕ Х ЕЦН ХГЛЕМЕМХЕ

яХЛБНКШ Б ЯРПНЙЮУ ЛНФМН ХЯОНКЭГНБЮРЭ Х ЛНДХТХЖХПНБЮРЭ, НОПЕДЕКХБ ХУ ЯЛЕЫЕМХЕ НРМНЯХРЕКЭМН МЮВЮКЮ ЯРПНЙХ, МЮВХМЮЪ Я МСКЪ, Б ТХЦСПМШУ ЯЙНАЙЮУ ОНЯКЕ ЯРПНЙХ.

Замечание: дКЪ НАЕЯОЕВЕМХЪ НАПЮРМНИ ЯНБЛЕЯРХЛНЯРХ, БШ ОН-ОПЕФМЕЛС ХЛЕЕРЕ БНГЛНФМНЯРЭ ХЯОНКЭГНБЮРЭ Б РЕУ ФЕ ЖЕКЪУ ЯЙНАЙХ ЛЮЯЯХБЮ. нДМЮЙН, МЮВХМЮЪ Я PHP 4, ЩРНР ЯХМРЮЙЯХЯ МЕФЕКЮРЕКЕМ Й ХЯОНКЭГНБЮМХЧ.

Пример 6-3. мЕЯЙНКЭЙН ОПХЛЕПНБ ЯРПНЙ

<?php
// оНКСВЕМХЕ ОЕПБНЦН ЯХЛБНКЮ ЯРПНЙХ
$str = 'щРН РЕЯР.';
$first = $str{0};

// оНКСВЕМХЕ РПЕРЭЕЦН ЯХЛБНКЮ ЯРПНЙХ
$third = $str{2};

// оНКСВЕМХЕ ОНЯКЕДМЕЦН ЯХЛБНКЮ ЯРПНЙХ
$str = 'щРН БЯЕ ЕЫЕ РЕЯР.';
$last = $str{strlen($str)-1};

// хГЛЕМЕМХЕ ОНЯКЕДМЕЦН ЯХЛБНКЮ ЯРПНЙХ
$str = 'оНЯЛНРПХ МЮ ЛНПЕ';
$str{strlen($str)-1} = 'Ъ';

?>

оНКЕГМШЕ ТСМЙЖХХ Х НОЕПЮРНПШ

яРПНЙХ ЛНЦСР АШРЭ НАЗЕДХМЕМШ ОПХ ОНЛНЫХ НОЕПЮРНПЮ '.' (РНВЙЮ). нАПЮРХРЕ БМХЛЮМХЕ, НОЕПЮРНП ЯКНФЕМХЪ '+' ГДЕЯЭ МЕ ПЮАНРЮЕР. дНОНКМХРЕКЭМСЧ ХМТНПЛЮЖХЧ ЯЛНРПХРЕ Б ПЮГДЕКЕ яРПНЙНБШЕ НОЕПЮРНПШ.

дКЪ ЛНДХТХЙЮЖХХ ЯРПНЙ ЯСЫЕЯРБСЕР ЛМНФЕЯРБН ОНКЕГМШУ ТСМЙЖХИ.

нЯМНБМШЕ ТСМЙЖХХ НОХЯЮМШ Б ПЮГДЕКЕ ЯРПНЙНБШУ ТСМЙЖХИ, ТСМЙЖХХ ПЕЦСКЪПМШУ БШПЮФЕМХИ ДКЪ ПЮЯЬХПЕММНЦН ОНХЯЙЮ Х ГЮЛЕМШ (Б ДБСУ ВЮЯРЪУ: Perl Х POSIX ПЮЯЬХПЕММШИ).

рЮЙФЕ ЯСЫЕЯРБСЧР ТСМЙЖХХ ДКЪ URL-ЯРПНЙ, Х ТСМЙЖХХ ДКЪ ЬХТПНБЮМХЪ/ДЕЬХТПНБЮМХЪ ЯРПНЙ (mcrypt Х mhash).

мЮЙНМЕЖ, ЕЯКХ БШ БЯЕ ЕЫЕ МЕ МЮЬКХ, ВРН ХЯЙЮКХ, ЯЛНРПХРЕ РЮЙФЕ ТСМЙЖХХ ДКЪ ЯХЛБНКЭМНЦН РХОЮ.

оПЕНАПЮГНБЮМХЕ Б ЯРПНЙС

бШ ЛНФЕРЕ ОПЕНАПЮГНБЮРЭ ГМЮВЕМХЕ Б ЯРПНЙС, ХЯОНКЭГСЪ ОПХБЕДЕМХЕ (string), КХАН ТСМЙЖХЧ strval(). б БШПЮФЕМХЪУ, ЦДЕ МЕНАУНДХЛЮ ЯРПНЙЮ, ОПЕНАПЮГНБЮМХЕ ОПНХЯУНДХР ЮБРНЛЮРХВЕЯЙХ. щРН ОПНХЯУНДХР, ЙНЦДЮ БШ ХЯОНКЭГСЕРЕ ТСМЙЖХХ echo() ХКХ print(), КХАН ЙНЦДЮ БШ ЯПЮБМХБЮЕРЕ ГМЮВЕМХЕ ОЕПЕЛЕММНИ ЯН ЯРПНЙНИ. оПНВРЕМХЕ ПЮГДЕКНБ ПСЙНБНДЯРБЮ рХОШ Х лЮМХОСКЪЖХХ Я РХОЮЛХ ЯДЕКЮЕР ЯКЕДСЧЫЕЕ АНКЕЕ ОНМЪРМШЛ. яЛНРПХРЕ РЮЙФЕ settype().

аСКЕБН (boolean) ГМЮВЕМХЕ TRUE ОПЕНАПЮГСЕРЯЪ Б ЯРПНЙС "1", Ю ГМЮВЕМХЕ FALSE ОПЕДЯРЮБКЪЕРЯЪ ЙЮЙ "" (ОСЯРЮЪ ЯРПНЙЮ). щРХЛ ЯОНЯНАНЛ БШ ЛНФЕРЕ ОПЕНАПЮГНБШБЮРЭ ГМЮВЕМХЪ Б НАЕ ЯРНПНМШ - ХГ АСКЕБЮ РХОЮ Б ЯРПНЙНБШИ Х МЮНАНПНР.

жЕКНЕ (integer) ХКХ ВХЯКН Я ОКЮБЮЧЫЕИ РНВЙНИ (float) ОПЕНАПЮГСЕРЯЪ Б ЯРПНЙС, ОПЕДЯРЮБКЕММСЧ ВХЯКНЛ, ЯНЯРНЪЫХЛ ХГ ЕЦН ЖХТП (БЙКЧВЮЪ ОНЙЮГЮРЕКЭ ЯРЕОЕМХ ДКЪ ВХЯЕК Я ОКЮБЮЧЫЕИ РНВЙНИ).

лЮЯЯХБШ БЯЕЦДЮ ОПЕНАПЮГСЧРЯЪ Б ЯРПНЙС "Array", РЮЙ ВРН БШ МЕ ЛНФЕРЕ НРНАПЮГХРЭ ЯНДЕПФХЛНЕ ЛЮЯЯХБЮ (array), ХЯОНКЭГСЪ echo() ХКХ print(), ВРНАШ СГМЮРЭ, ВРН НМ ЯНДЕПФХР. вРНАШ ОПНЯЛНРПЕРЭ НДХМ ЩКЕЛЕМР, БЮЛ МСФМН ЯДЕКЮРЭ ВРН-РН БПНДЕ echo $arr['foo']. яЛНРПХРЕ МХФЕ ЯНБЕРШ Н РНЛ, ЙЮЙ НРНАПЮГХРЭ/ОПНЯЛНРПЕРЭ БЯЕ ЯНДЕПФХЛНЕ.

нАЗЕЙРШ БЯЕЦДЮ ОПЕНАПЮГСЧРЯЪ Б ЯРПНЙС "Object". еЯКХ БШ УНРХРЕ БШБЕЯРХ ГМЮВЕМХЕ ОЕПЕЛЕММНИ-ВКЕМЮ НАЗЕЙРЮ (object) Я ЖЕКЭЧ НРКЮДЙХ, ОПНВРХРЕ ЯКЕДСЧЫХЕ ЮАГЮЖШ. еЯКХ БШ УНРХРЕ ОНКСВХРЭ ХЛЪ ЙКЮЯЯЮ РПЕАСЕЛНЦН НАЗЕЙРЮ, ХЯОНКЭГСИРЕ get_class().

пЕЯСПЯШ БЯЕЦДЮ ОПЕНАПЮГСЧРЯЪ Б ЯРПНЙХ ЯН ЯРПСЙРСПНИ "Resource id #1", ЦДЕ 1 - ЩРН СМХЙЮКЭМШИ МНЛЕП ПЕЯСПЯЮ (resource), ОПХЯБНЕММШИ ЕЛС PHP БН БПЕЛЪ БШОНКМЕМХЪ. еЯКХ БШ УНРХРЕ ОНКСВХРЭ РХО ПЕЯСПЯЮ, ХЯОНКЭГСИРЕ get_resource_type().

NULL БЯЕЦДЮ ОПЕНАПЮГСЕРЯЪ Б ОСЯРСЧ ЯРПНЙС.

йЮЙ БШ ЛНЦКХ БХДЕРЭ БШЬЕ, БШБНД ЛЮЯЯХБНБ, НАЗЕЙРНБ ХКХ ПЕЯСПЯНБ МЕ ОПЕДНЯРЮБКЪЕР БЮЛ МХЙЮЙНИ ОНКЕГМНИ ХМТНПЛЮЖХХ Н ЯЮЛХУ ГМЮВЕМХЪУ. аНКЕЕ ОНДУНДЪЫХИ ЯОНЯНА БШБНДЮ ГМЮВЕМХИ ДКЪ НРКЮДЙХ - ХЯОНКЭГНБЮРЭ ТСМЙЖХХ print_r() Х var_dump().

бШ РЮЙФЕ ЛНФЕРЕ ОПЕНАПЮГНБЮРЭ ГМЮВЕМХЪ PHP Б ЯРПНЙХ ДКЪ ОНЯРНЪММНЦН УПЮМЕМХЪ. щРНР ЛЕРНД МЮГШБЮЕРЯЪ ЯЕПХЮКХГЮЖХЕИ Х ЛНФЕР АШРЭ БШОНКМЕМ ОПХ ОНЛНЫХ ТСМЙЖХХ serialize(). йПНЛЕ РНЦН, ЕЯКХ Б БЮЬЕИ СЯРЮМНБЙЕ PHP ЕЯРЭ ОНДДЕПФЙЮ WDDX, БШ ЛНФЕРЕ ЯЕПХЮКХГНБЮРЭ ГМЮВЕМХЪ PHP Б ЯРПСЙРСПШ XML.

оПЕНАПЮГНБЮМХЕ ЯРПНЙ Б ВХЯКЮ

еЯКХ ЯРПНЙЮ ПЮЯОНГМЮЕРЯЪ ЙЮЙ ВХЯКНБНЕ ГМЮВЕМХЕ, ПЕГСКЭРХПСЧЫЕЕ ГМЮВЕМХЕ Х РХО НОПЕДЕКЪЕРЯЪ РЮЙ ЙЮЙ ОНЙЮГЮМН ДЮКЕЕ.

яРПНЙЮ АСДЕР ПЮЯОНГМЮМЮ ЙЮЙ float, ЕЯКХ НМЮ ЯНДЕПФХР КЧАНИ ХГ ЯХЛБНКНБ '.', 'e', ХКХ 'E'. хМЮВЕ НМЮ АСДЕР НОПЕДЕКЕМЮ ЙЮЙ ЖЕКНЕ.

гМЮВЕМХЕ НОПЕДЕКЪЕРЯЪ ОН МЮВЮКЭМНИ ВЮЯРХ ЯРПНЙХ. еЯКХ ЯРПНЙЮ МЮВХМЮЕРЯЪ Я БЕПМНЦН ВХЯКНБНЦН ГМЮВЕМХЪ, АСДЕР ХЯОНКЭГНБЮМН ЩРН ГМЮВЕМХЕ. хМЮВЕ ГМЮВЕМХЕЛ АСДЕР 0 (МНКЭ). бЕПМНЕ ВХЯКНБНЕ ГМЮВЕМХЕ - ЩРН НДМЮ ХКХ АНКЕЕ ЖХТП (ЛНЦСЫХУ ЯНДЕПФЮРЭ ДЕЯЪРХВМСЧ РНВЙС), ОН ФЕКЮМХЧ ОПЕДБЮПЕММШУ ГМЮЙНЛ, Я ОНЯКЕДСЧЫХЛ МЕНАЪГЮРЕКЭМШЛ ОНЙЮГЮРЕКЕЛ ЯРЕОЕМХ. оНЙЮГЮРЕКЭ ЯРЕОЕМХ - ЩРН 'e' ХКХ 'E' Я ОНЯКЕДСЧЫХЛХ НДМНИ ХКХ АНКЕЕ ЖХТПЮЛХ.

<?php
$foo
= 1 + "10.5";                // $foo ЩРН float (11.5)
$foo = 1 + "-1.3e3";              // $foo ЩРН float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo ЩРН integer (1)
$foo = 1 + "bob3";                // $foo ЩРН integer (1)
$foo = 1 + "10 Small Pigs";       // $foo ЩРН integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo ЩРН float (14.2)
$foo = "10.0 pigs " + 1;          // $foo ЩРН float (11)
$foo = "10.0 pigs " + 1.0;        // $foo ЩРН float (11)     
?>

аНКЕЕ ОНДПНАМСЧ ХМТНПЛЮЖХЧ НА ЩРНЛ ОПЕНАПЮГНБЮМХХ ЯЛНРПХРЕ Б ПЮГДЕКЕ Н strtod(3) ДНЙСЛЕМРЮЖХХ Unix.

еЯКХ БШ УНРХРЕ ОПНРЕЯРХПНБЮРЭ КЧАНИ ХГ ОПХЛЕПНБ ЩРНЦН ПЮГДЕКЮ, БШ ЛНФЕРЕ ЯЙНОХПНБЮРЭ Х БЯРЮБХРЭ ЕЦН Х ЯКЕДСЧЫСЧ ЯРПНЙС, ВРНАШ СБХДЕРЭ, ВРН ОПНХЯУНДХР:

<?php
echo "\$foo==$foo; РХО: " . gettype ($foo) . "<br />\n";
?>

мЕ НФХДЮИРЕ ОНКСВХРЭ ЙНД ЯХЛБНКЮ, ОПЕНАПЮГНБЮБ ЕЦН Б ЖЕКНЕ (ЙЮЙ БШ ЛНЦКХ АШ ЯДЕКЮРЭ, МЮОПХЛЕП, Б C). дКЪ ОПЕНАПЮГНБЮМХЪ ЯХЛБНКНБ Б ХУ ЙНДШ Х НАПЮРМН ХЯОНКЭГСИРЕ ТСМЙЖХХ ord() Х chr().


HIVE: All information for read only. Please respect copyright!
Hosted by hive йца: йХЕБЯЙЮЪ ЦНПНДЯЙЮЪ АХАКХНРЕЙЮ