Відмінності між версіями «8 Змішані типи даних»

Матеріал з Wiki TNEU
Перейти до: навігація, пошук
 
(2 проміжні версії 2 користувачів не показані)
Рядок 1: Рядок 1:
У мові PHP э два типи змішаних даних: arrays (масив), object (об'єкт).
+
У мові PHP є два змішаних типи: array (масив) і object (об'єкт).  
Масиви (arrays) - це впорядковані набори даних, що представляють собою список однотипних елементів.
+
==Тип array (масиви)==
Існує два типи масивів, які розрізняються за способом ідентифікації елементів.
+
Масив в PHP - це впорядкований набір даних, у якому встановлено відповідність між значенням і ключем. Індекс (ключ) служить для однозначної ідентифікації елемента всередині масиву. В одному масиві не може бути двох елементів з однаковими індексами. PHP дозволяє створювати масиви будь-якої складності. Розглянемо деякі приклади:
1. У масивах першого типу елемент визначається індексом у послідовності. Такі масиви називаються простими масивами.
+
==Простий масив (список) ==
2. Масиви другого типу мають асоціативну природу, і для звернення до елементів використовуються ключі, логічно пов'язані зі значеннями. Такі масиви називають асоціативними масивами.
+
Масиви, індексами яких є числа, що починаються з нуля - це списки:
Важливою особливістю PHP є те, що PHP, на відміну від інших мов, дозволяє створювати масиви будь-якої складності безпосередньо в тілі програми (скрипта).
+
<?php // Простий спосіб ініціалізації масиву
Об’єкти.
+
$names[0] ="Апельсин";
Об'єкт є одним із базових понять об'єктно-орієнтованого програмування.
+
$names[1] ="Банан";
Об'єкт являє собою змінну, примірник якої створюється за спеціальним шаблоном, так званому класом. Концепції об'єктів і класів є невід'ємною частиною парадигми об'єктно-орієнтованого програмування (ООП).
+
$names[2] ="Груша";
Об'єкт - це сукупність даних (властивостей) і функцій (методів) для їх обробки. Дані та методи називаються членами класу. Взагалі, об'єктом є все те, що підтримує інкапсуляцію.
+
$names[3] ="Помідор";
Внутрішня структура об'єкта схожа на хеш, за винятком того, що для доступу до окремих елементів і функцій використовується оператор ->, а не квадратні дужки.
+
// Тут: names - ім'я масиву, а 0, 1, 2, 3 - індекси масиву
Для ініціалізації об'єкта використовується вираз new, що створює в змінній екземпляр об'єкта.
+
?>
<?php
+
 
class foo
+
==Асоціативні масиви ==
{
+
У PHP індексом масиву може бути не тільки число, але і рядок. Причому на рядок не накладаються обмеження: вона може містити пробіли, спеціальні символи і бути будь-якої довжини. Масиви, індексами яких є рядки, називаються асоціативними масивами. Індекси асоціативних масивів називаються ключами. Приклад асоціативного масиву:
     function do_foo()
+
<?php // Асоціативний масив
 +
$names["Мерзлюк"] ="Іван";
 +
$names["Сидоров"] ="Микола";
 +
$names["Петренко"] ="Петро";
 +
// В даному прикладі: прізвища - ключі асоціативного масиву
 +
//, а імена - елементи масиву
 +
?>
 +
 
 +
==Багатовимірні масиви ==
 +
Для створення масивів в PHP існує спеціальна інструкція array(). Її зручно використовувати для створення багатовимірних масивів. Наведемо конкретний приклад:
 +
<?php // Багатомірний масив
 +
$A["Ivanov"] = array ("name" => "Іванов І.І.", "age" => "25", "email" => "ivanov@mail.ru");
 +
$A["Petrov"] = array ("name" => "Петров П.П.", "age" => "34", "email" => "petrov@mail.ru");
 +
$A["Sidorov"] = array ("name" => "Сидоров С.С.", "age" => "47", "email" => "sidorov@mail.ru");
 +
?>
 +
 
 +
==Тип object (об'єкти) ==
 +
Об'єкт є одним з базових понять об'єктно-орієнтованого програмування. Внутрішня структура об'єкта схожа на хеш, за винятком того, що для доступу до окремих елементів і функцій використовується оператор ->, а не квадратні дужки. Для ініціалізації об'єкту використовується вираз new, що створює в змінної екземпляр об'єкта.  
 +
<?php  
 +
class foo  
 +
{
 +
     function do_foo ()
 
     {
 
     {
         echo "Doing foo.";  
+
         echo "Doing foo.";
 
     }
 
     }
}
+
}  
$bar = new foo;
+
$bar = New foo;  
$bar->do_foo();
+
$bar->do_foo ();  
?>
+
?>  
Усередині об'єкту дані і код (члени класу) можуть бути або відкриті, або ні. Відкриті дані і члени класу є доступними для інших частин програми, які не є частиною об'єкта. А ось закриті дані і члени класу доступні тільки всередині цього об'єкту.
+
 
Опис класів в PHP починаються службовим словом class:
+
Тип resource (ресурси)  
class Имя_класса {
+
Ресурс - це спеціальна змінна, що містить посилання на зовнішній ресурс. Ресурси створюються і використовуються спеціальними функціями.
// описание членов класса - данных и методов для их обработки
+
 
}
+
==Тип NULL (порожній тип) ==
Для оголошення об'єкту необхідно використовувати оператор new:
+
Спеціальне значення NULL говорить про те, що ця змінна не має значення. NULL - це єдине можливе значення типу NULL (порожній тип). Змінна вважається NULL якщо:  
Объект = new Имя_класса;
+
*їй була присвоєна константа NULL;
Дані описуються за допомогою службового слова var. Метод описується так само, як і звичайна функція. Методу також можна передавати параметри.
+
*їй ще не було присвоєно яке-небудь значення;  
 +
*вона була видалена за допомогою unset ().  
  
Приклад класу на PHP:
+
  <?php  
  <?php
+
$var = NULL;  
  // Створюєм новий клас Coor:
+
  class Coor {
+
  // дані (властивості):
+
  var $name;
+
  var $addr;
+
  // методи:
+
  function Name() {
+
  echo "<h3>John</h3>";
+
  }
+
  }
+
  // створюваний об’єкт класу Coor:
+
  $object = new Coor;
+
 
  ?>
 
  ?>
 +

Поточна версія на 02:05, 20 червня 2014

У мові PHP є два змішаних типи: array (масив) і object (об'єкт).

Зміст

[ред.] Тип array (масиви)

Масив в PHP - це впорядкований набір даних, у якому встановлено відповідність між значенням і ключем. Індекс (ключ) служить для однозначної ідентифікації елемента всередині масиву. В одному масиві не може бути двох елементів з однаковими індексами. PHP дозволяє створювати масиви будь-якої складності. Розглянемо деякі приклади:

[ред.] Простий масив (список)

Масиви, індексами яких є числа, що починаються з нуля - це списки:

<?php // Простий спосіб ініціалізації масиву 
$names[0] ="Апельсин"; 
$names[1] ="Банан"; 
$names[2] ="Груша"; 
$names[3] ="Помідор"; 
// Тут: names - ім'я масиву, а 0, 1, 2, 3 - індекси масиву 
?>

[ред.] Асоціативні масиви

У PHP індексом масиву може бути не тільки число, але і рядок. Причому на рядок не накладаються обмеження: вона може містити пробіли, спеціальні символи і бути будь-якої довжини. Масиви, індексами яких є рядки, називаються асоціативними масивами. Індекси асоціативних масивів називаються ключами. Приклад асоціативного масиву:

<?php // Асоціативний масив 
$names["Мерзлюк"] ="Іван"; 
$names["Сидоров"] ="Микола"; 
$names["Петренко"] ="Петро"; 
// В даному прикладі: прізвища - ключі асоціативного масиву 
//, а імена - елементи масиву 
?>

[ред.] Багатовимірні масиви

Для створення масивів в PHP існує спеціальна інструкція array(). Її зручно використовувати для створення багатовимірних масивів. Наведемо конкретний приклад:

<?php // Багатомірний масив 
$A["Ivanov"] = array ("name" => "Іванов І.І.", "age" => "25", "email" => "ivanov@mail.ru"); 
$A["Petrov"] = array ("name" => "Петров П.П.", "age" => "34", "email" => "petrov@mail.ru"); 
$A["Sidorov"] = array ("name" => "Сидоров С.С.", "age" => "47", "email" => "sidorov@mail.ru"); 
?> 

[ред.] Тип object (об'єкти)

Об'єкт є одним з базових понять об'єктно-орієнтованого програмування. Внутрішня структура об'єкта схожа на хеш, за винятком того, що для доступу до окремих елементів і функцій використовується оператор ->, а не квадратні дужки. Для ініціалізації об'єкту використовується вираз new, що створює в змінної екземпляр об'єкта.

<?php 
class foo 
{
    function do_foo ()
    {
        echo "Doing foo.";
    }
} 
$bar = New foo; 
$bar->do_foo (); 
?> 

Тип resource (ресурси) Ресурс - це спеціальна змінна, що містить посилання на зовнішній ресурс. Ресурси створюються і використовуються спеціальними функціями.

[ред.] Тип NULL (порожній тип)

Спеціальне значення NULL говорить про те, що ця змінна не має значення. NULL - це єдине можливе значення типу NULL (порожній тип). Змінна вважається NULL якщо:

  • їй була присвоєна константа NULL;
  • їй ще не було присвоєно яке-небудь значення;
  • вона була видалена за допомогою unset ().
<?php 
$var = NULL; 
?>

Особисті інструменти
Простори назв

Варіанти
Дії
Навігація
Інструменти