Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠšΡƒΡ€Ρ "Π―Π·Ρ‹ΠΊ программирования PHP"Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 7

Автор Нина БавСльСва

<?php

$str = <<<EOD

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ строки,ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ нСсколько

строчСк, с использованиСм

heredoc-синтаксиса

EOD;

// Π—Π΄Π΅ΡΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ – EOD. НиТС

// ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ EOT

$name = 'Вася';

echo <<<EOT

МСня Π·ΠΎΠ²ΡƒΡ‚ "$name".

EOT;

// это Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ "МСня Π·ΠΎΠ²ΡƒΡ‚ "Вася"."

?>


Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° heredoc Π±Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² PHP 4.


Вип array (массив)


Массив Π² PHP прСдставляСт собой ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ – Ρ‚ΠΈΠΏ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ значСния Π² ΠΊΠ»ΡŽΡ‡ΠΈ. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… направлСниях, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ собствСнно массив, список (Π²Π΅ΠΊΡ‚ΠΎΡ€), Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ (ΡΠ²Π»ΡΡŽΡ‰ΡƒΡŽΡΡ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΊΠ°Ρ€Ρ‚Ρ‹), стэк, ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈ Ρ‚.Π΄. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² качСствС значСния Π΄Ρ€ΡƒΠ³ΠΎΠΉ массив PHP, ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΡŒΡ.


ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ массив ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ конструкции array() ΠΈΠ»ΠΈ нСпосрСдствСнно задавая значСния Π΅Π³ΠΎ элСмСнтам.


ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ array()


array ([key] => value,

[key1] => value1, ... )


Языковая конструкция array() ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡ => Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ запятыми. Π‘ΠΈΠΌΠ²ΠΎΠ» => устанавливаСт соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ. ΠšΠ»ΡŽΡ‡ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹ΠΌ числом, Ρ‚Π°ΠΊ ΠΈ строкой, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любого ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ Π² PHP Ρ‚ΠΈΠΏΠ°. Числовой ΠΊΠ»ΡŽΡ‡ массива часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ индСксом. Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ массива Π² PHP начинаСтся с нуля. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта массива ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Π² послС ΠΈΠΌΠ΅Π½ΠΈ массива Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках ΠΊΠ»ΡŽΡ‡ искомого элСмСнта. Если ΠΊΠ»ΡŽΡ‡ массива прСдставляСт собой ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ запись Ρ†Π΅Π»ΠΎΠ³ΠΎ числа, Ρ‚ΠΎ ΠΎΠ½ рассматриваСтся ΠΊΠ°ΠΊ число, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС – ΠΊΠ°ΠΊ строка. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ запись $a["1"] Ρ€Π°Π²Π½ΠΎΡΠΈΠ»ΡŒΠ½Π° записи $a[1], Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ $a["-1"] Ρ€Π°Π²Π½ΠΎΡΠΈΠ»ΡŒΠ½ΠΎ $a[-1].


<?php

$books = array ("php" =>

"PHP users guide",

12 => true);

echo $books["php"];

//Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ "PHP users guide"

echo $books[12]; //Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ 1

?>


Если для элСмСнта ΠΊΠ»ΡŽΡ‡ Π½Π΅ Π·Π°Π΄Π°Π½, Ρ‚ΠΎ Π² качСствС ΠΊΠ»ΡŽΡ‡Π° бСрСтся ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ числовой ΠΊΠ»ΡŽΡ‡, ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Если ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ присвоСно ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ пСрСзаписано. Начиная с PHP 4.3.0, Ссли ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ – ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число, Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ массива Π±ΡƒΠ΄Π΅Ρ‚ ноль (0).


<?php

// массивы $arr ΠΈ $arr1 эквивалСнты

$arr = array(5 => 43, 32, 56, "b" => 12);

$arr1 = array(5 => 43, 6 => 32,

7 => 56, "b" => 12);

?>


Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС ΠΊΠ»ΡŽΡ‡Π° TRUE ΠΈΠ»ΠΈ FALSE, Ρ‚ΠΎ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пСрСводится соотвСтствСнно Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΈ ноль Ρ‚ΠΈΠΏΠ° integer. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ NULL, Ρ‚ΠΎ вмСсто ΠΊΠ»ΡŽΡ‡Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΡƒΡΡ‚ΡƒΡŽ строку. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ саму ΠΏΡƒΡΡ‚ΡƒΡŽ строку Π² качСствС ΠΊΠ»ΡŽΡ‡Π°, ΠΏΡ€ΠΈ этом Π΅Π΅ Π½Π°Π΄ΠΎ Π±Ρ€Π°Ρ‚ΡŒ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ это Π½Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ использованиС пустых ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок. НСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС ΠΊΠ»ΡŽΡ‡Π° массивы ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.


ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ синтаксиса ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок


Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ массив ΠΌΠΎΠΆΠ½ΠΎ, просто записывая Π² Π½Π΅Π³ΠΎ значСния. Как ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта массива ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, $book["php"]. Если ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΈ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, $book["new_key"]="new_value", Ρ‚ΠΎ Π² массив добавится Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт. Если ΠΌΡ‹ Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ присвоим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ $book[]="new_value", Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт массива Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ числовой ΠΊΠ»ΡŽΡ‡, Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ больший максимального ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ. Если массив, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ добавляСм значСния, Π΅Ρ‰Π΅ Π½Π΅ сущСствуСт, Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ создан.


<?

$books["key"]= value; // добавили в массив

// $books Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

// value с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ key

$books[] = value1; /* добавили в массив

Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ value1 с

ΠΊΠ»ΡŽΡ‡ΠΎΠΌ 13, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ

ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Ρƒ

нас Π±Ρ‹Π» 12 */

?>


Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ элСмСнт массива, Π½ΡƒΠΆΠ½ΠΎ просто ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΌΡƒ с Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ элСмСнта нСльзя, ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт (ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΡŽΡ‡/Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт массива, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ unset().


<?php

$books = array ("php" =>

"PHP users guide",

12 => true);

$books[] =

"Book about Perl"; // Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ элСмСнт

// с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ (индСксом)

// 13 это эквивалСнтно

// $books[13] =

// "Book about Perl";

$books["lisp"] =

123456; /* Π­Ρ‚ΠΎ добавляСт ΠΊ массиву Π½ΠΎΠ²Ρ‹ΠΉ

элСмСнт с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ "lisp" ΠΈ

Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 123456 */

unset($books[12]); // Π­Ρ‚ΠΎ удаляСт элСмСнт

// c ΠΊΠ»ΡŽΡ‡ΠΎΠΌ 12 ΠΈΠ· массива

unset ($books); // удаляСт массив ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ

?>


Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ пустыС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ числовой ΠΊΠ»ΡŽΡ‡ ищСтся срСди ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² массивС с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго пСрСиндСксирования. ΠŸΠ΅Ρ€Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ array_values().


<?php

$arr =

array ("a","b","c"); /* БоздаСм массив

со значСниями

"a", "b" ΠΈ "c".

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ»ΡŽΡ‡ΠΈ

Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹, ΠΎΠ½ΠΈ

Π±ΡƒΠ΄ΡƒΡ‚ 0,1,2

соотвСтствСнно */

print_r($arr); // Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ массив (ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ,

// ΠΈ значСния)

unset($arr[0]);

unset($arr[1]);

unset($arr[2]);

// удаляСм ΠΈΠ· Π½Π΅Π³ΠΎ всС значСния

print_r($arr); // Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ массив (ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ,

// ΠΈ значСния)

$arr[] = "aa"; // добавляСм Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт

// в массив.

// Π•Π³ΠΎ индСксом (ΠΊΠ»ΡŽΡ‡ΠΎΠΌ)

// Π±ΡƒΠ΄Π΅Ρ‚ 3, Π° Π½Π΅ 0

print_r($arr);

$arr =

array_values($arr); // пСрСиндСксируСм

// массив

$arr[] = "bb"; // ΠΊΠ»ΡŽΡ‡ΠΎΠΌ этого элСмСнта

// Π±ΡƒΠ΄Π΅Ρ‚ 1

print_r($arr);

?>


Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого скрипта Π±ΡƒΠ΄Π΅Ρ‚:


Array ( [0] => a [1] => b [2] => c )

Array ( )

Array ( [3] => aa )

Array ( [0] => aa [1] => bb )


Π’ΠΈΠΏ object (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹)


ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ – Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΠΉ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ООП). Богласно ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ ООП, класс – это Π½Π°Π±ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ свойствами ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ, Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ соотвСтствСнно – экзСмпляр класса. НапримСр, программисты – это класс людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΡƒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС люди, ΠΈΠΌΠ΅ΡŽΡ‚ имя ΠΈ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли Π²Π·ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ программиста, Π’Π°ΡΡŽ Иванова, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ класса программистов, ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ свойствами, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ программисты, Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ имя, ΠΏΠΈΡˆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ‚.ΠΏ.


Π’ PHP для доступа ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ->. Для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ new, ΡΠΎΠ·Π΄Π°ΡŽΡ‰Π΅Π΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ экзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.


<?php

//создаСм класс людСй

class Person

{

// ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΡƒΡ‡Π°Π΅Ρ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° PHP

function know_php()

{

echo "Π’Π΅ΠΏΠ΅Ρ€ΡŒ я знаю PHP";

}

}

$bob = new Person; // создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

// класса Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ

$bob -> know_php(); // ΠΎΠ±ΡƒΡ‡Π°Π΅ΠΌ Π΅Π³ΠΎ PHP

?>


Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ООП Π² языкС PHP ΠΌΡ‹ рассмотрим Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π»Π΅ΠΊΡ†ΠΈΠΉ.


Π’ΠΈΠΏ resource (рСсурсы)


РСсурс – это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная, содСрТащая ссылку Π½Π° внСшний рСсурс (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, соСдинСниС с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…). РСсурсы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ функциями (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, mysql_connect(), pdf_new() ΠΈ Ρ‚.ΠΏ.).


Π’ΠΈΠΏ Null


Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NULL Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ пСрСмСнная Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния.


ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ считаСтся NULL, Ссли:


- Π΅ΠΉ Π±Ρ‹Π»Π° присвоСна константа NULL ($var = NULL);


- Π΅ΠΉ Π΅Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π»ΠΎ присвоСно ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;


- ΠΎΠ½Π° Π±Ρ‹Π»Π° ΡƒΠ΄Π°Π»Π΅Π½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ unset().


БущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° NULL – рСгистронСзависимоС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово NULL.


РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ


Π’Π΅ΠΏΠ΅Ρ€ΡŒ вСрнСмся ΠΊ Π·Π°Π΄Π°Ρ‡Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ поставили Π² самом Π½Π°Ρ‡Π°Π»Π΅ Π»Π΅ΠΊΡ†ΠΈΠΈ. Напомним, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° состояла Π² составлСнии письма Ρ€Π°Π·Π½Ρ‹ΠΌ людям ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹Ρ… событий. ΠŸΠΎΠΏΡ‹Ρ‚Π°Π΅ΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ срСдства – ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, константы, строки ΠΈ массивы. Π’ зависимости ΠΎΡ‚ получатСля измСняСтся событиС ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² письмС, поэтому СстСствСнно вынСсти эти Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ событий ΠΈ людСй ΠΌΠ½ΠΎΠ³ΠΎ, ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° массив. Подпись Π² письмС остаСтся постоянной всСгда, поэтому Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π΅Π΅ ΠΊΠ°ΠΊ константу. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ слишком Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΈ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠ΅ строки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ. Π˜Ρ‚Π°ΠΊ, Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ: