ოპერაციები ცვლადებთან
საერთოდ თავიდან ცოტა არ იყოს ძნელია პროგრამირების სინტაქსთან მიჩვევა, სწორედ ამიტომ ამ თავში გადავწყვიტეთ ვისაუბროთ ზოგადად PHP-ის გამოსახულებებსა და ლოგიკურ ოპერაციებზე.
PHP-ში ცვლადებთან ან ფუნქციებთან მუშაობისას ხშირად საჭირო ხდება რაიმე ცვლილების შეტანა იმისათვის რომ სასურველი რეზულტატი მივიღოთ. რათქმაუნდა ეს ყველაფერი შეიძლება უფრო გრძელი და მარტივი გზითაც მოგვარდეს, მაგრამ პრაქტიკაში მიღებულია თითო ოპერაციის რაც შეიძლება ლაკონურად დაწერა. ვთქვათ გვინდა რომ $a იყოს $b-ს ტოლი. ამისთვის ჯერ უნდა მივანიჭოთ ცვლად $a-ს მნიშვნელობა, შემდეგ კი $b ს მივანიჭოთ ცვლადური მნიშვნელობა $a. ამ პრობლემის ლაკონური და კონკრეტული გამოსახულების ჩანაწერი იქნება შემდეგნაერი:
Code
<?php
$a = ($b = 10);
?>
PHP-ში მათემატიკური ოპერაციების შესრულება შესაძლებელია მხოლოდ ერთი ხაზითაც კი. შემდეგი მაგალითი ჩაწერილია შემოკლებით, იმის ასახსნელად, რომ ცვლადს შეიძლება მიენიჭოს როგორც მხოლოდ ერთი რიცხვი, ასევე რაიმე ფუნქცია, ტექსტი, მათემატიკური ოპერაცია და ასე შემდეგ.
Code
<?php
$result = 5 * sin($b = 50) + 15l;
?>
დამეთანხმებით, რომ ზემოთ მოცემული კოდის უფრო ვრცლად და გასაგებად ჩაწერაც შეიძლებოდა, მაგრამ ესეთი მუშაობის სტილი უფრო ლაკონურსა და ადვილად გასარჩევს ხდის კოდს.
წინა თავში შეგვხვდა მაგალითები, რომლებშიც ცვლადს ენიჭებოდა რაიმე ტექსტი და ცვლადი ერთად. ალბათ მაგ დროს დაგაბნიათ ბრჭყალებმა და წერტილება უადგილო ადგილებზე, მაგრამ უადგილოდ სრულიადაც არ გვიხმარია ეს სიმბოლოები. საერთოდ PHP-ში წერტილი ნიშნავს ორი ცვლადის, ორი ტექსტის ან რაიმე ორი ტიპის წყაროს შეერთებას. შემდეგი მაგალითი დაგეხმარებათ ზემოთ ნალაპარაკების გარჩევაში.
Code
<?php
$saxeli = "saxeli"; // string
$gvari = "gvari"; // string
$asaki = 92; // integer
// gamova:
$saxeli_da_gvari = $saxeli." ".$gvari;
// Asaki marcxniv textit Asaki:
$asaki_sityvit = "Asaki: ".$asaki;
// Saxei da gvari gadabumal
$saxeli_da_gvari_gadabmulad = $saxeli.$gvari;
$texti = "Saxeli: ".$saxeli."
Gvari: ".$gvari."
Asaki: ".$asaki;
?>
არსებობს ორი ცვლადის შეერთების, ან უფრო სწორი იქნება თუ ვუწოდებთ გაგრძელების მეორე გზაც. ეს ხდება წერტილ-ტოლობით (.=)
Code
<?php
$text = "Xazi erti
";
$text .= "Xazi ori ";
$text .= "Gagrzeleba";
?>
თუ წერტილის მაგივრად ტოლობასთან გამოვიყენებთ სხვა სიმბოლოებს მაგალითად (+, -, /, *) ცვლადს მიენიჭება მისი მნიშვნელობისა და თავისი თავის მათემატიკური ოპერაციის რეზულტატი.
Code
<?php
$c = 5;
$c += 1; // resultati aris $c + 2 anu 6
$c -= -1; // resultati aris $c - (- 1), anu 7
$x = 5;
$x *= $c; // resultati aris $x * $c, anu 35
$y = 70;
$y /= $x // resultati aris $y / $x, anu 2
?>
ამ ყველაფრის გარდა არსებობს დისკრიმენტისა და ინკრიმენტის შესრულების შემოკლებული მეთოდები.
Code
<?php
$a = 5;
$a++; // $a gaizarda 1-it da gaxda 6
$a--; // $a shemcirda 1-it da gaxda 5
$b = 5 * $a++; // inkriomenti sruldeba operaciis shemdeg
// tavidan $b xdeba 25, da shemdeg $a izdeba
// ertit da xdeba 6
// tu gindat rom $a-s sheusruldes inkrimentis funqcia tavidan
// mashin mas unda daucerot ori pliusi cin
$b = 5 * ++$a; // $a gaizarda 7amde; $b gaxda 35
$c = 100;
$c -= ++$b + $a++; // $b xdeba 36; $c ki gamodis rom tolia
// 100 - ( 36 + 7 ); sabolood, $a xdeba 8
?>