PHP/PHP მასივები

ვიკიწიგნებიდან
< PHP

რა არის მასივი?[რედაქტირება]

როდესაც ვმუშაობთ PHP-ში, ადრე თუ გვიან, დაგვჭირდება შევქმნათ მრავალი მსგავსი ცვლადი. იმის მაგივრად რომ შევქმნათ მრავალი ცვლადი, ჩვენ შეგვიძლია მოვაქციოთ ის მასივში. მასივში თითოეულ ელემენტს აქვს საკუთარი KEY, ამიტომ მასთან მიმართვა იქნება ძალიან ადვილი. ქვემოთ მოყვანილია სამი განსხვავებული მასივი:

  • Numeric array(რიცხობრივი მასივი) - მასივი რიცხობრივი KEY გასაღებით
  • Associative array(ასოციაციური მასივი) - მასივი, სადაც თითორული KEY გასაღები ასოცირებულია მნიშვნელობასთან.
  • Multidimensional array(მრავალგანზომილებიანი მასივი) - მასივი შეიცავს ერთ ან მეტ მასივს.

რიცხობრივი მასივები[რედაქტირება]

არსებობს სხვადასხვა გზა რიცხობრივი მასივის შექმნისა.
მაგალითი 1:
მაგალითი, სადაც ID გასაღები შექმნილია ავტომატურად:

$names = array("Peter","Quagmire","Joe");

მაგალითი 2:
მაგალითი, სადაც ID გასაღები ხელით უნდა მივუთითოთ:

$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";

ID გასაღებები შესაძლოა გამოვიყენოთ სკრიპტში:

<?php
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
echo $names[1] . " and " . $names[2] . 
" are ". $names[0] . "'s neighbors";
?><pre>
კოდი დაბეჭდავს:
<pre>Quagmire and Joe are Peter's neighbors

ასოციაციური მასივები[რედაქტირება]

როდესაც ვაბრუნებთ სპეციფიური სახელების მონაცემებს, რიცხვითი მასივი ყოველთვის არ გამოგვადგება.
ასოციაციური მასივით ჩვენ შეგვიძლია მნიშვნელობები გამოვიყენოთ, როგორც გასაღებები და მივანიჭოთ მათ მნიშვნელობები.
მაგალითი 1:
ამ მაგალითში, მასივი სხვადასხვა პიროვნებებს ანიჭებს წლოვანებებს:

$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);

მაგალითი 2:
ეს მაგალითი იგივეა რაც პირველი მაგალითი, მხოლოდ აჩვენებს მასივის შექმნის განსხვავებულ გზას:

$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";

ID გასაღებები შესაძლებელია გამოვიყენოთ სკრიპტში:

<?php
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";
echo "Peter is " . $ages['Peter'] . " years old.";
?>

კოდი დაბეჭდავს:

Peter is 32 years old.

მრავალგანზომილებიანი მასივები[რედაქტირება]

მაგალითი:
ამ მაგალითში ჩვენ შევქმნით მრავალგანზომილებიან მასივებს, ავტომატურად მინიჭებული ID გასაღებებით:

$families = array
(
  "Griffin"=>array
  (
  "Peter",
  "Lois",
  "Megan"
  ),
  "Quagmire"=>array
  (
  "Glenn"
  ),
  "Brown"=>array
  (
  "Cleveland",
  "Loretta",
  "Junior"
  )
);

ქვემოთ მოყვანილი მასივი გამოიყურება ასე, თუ დაწერილია ბეჭდვაზე:

Array
(
[Griffin] => Array
  (
  [0] => Peter
  [1] => Lois
  [2] => Megan
  )
[Quagmire] => Array
  (
  [0] => Glenn
  )
[Brown] => Array
  (
  [0] => Cleveland
  [1] => Loretta
  [2] => Junior
  )
) 

მაგალითი 2:
შევეცადოთ გამოვსახოთ ერთი მნიშვნელობა:

echo "Is " . $families['Griffin'][2] . 
" a part of the Griffin family?";

კოდი დაბეჭდავს:

Is Megan a part of the Griffin family?