Welcome to the CYBSECGROUP Forum
You have the opportunity to get acquainted with interesting projects in an interesting environment
Registration

php Laravel საწყისები - მარტივი მოქმედებები PHP-ზე - ნაწილი 4.2

LashaTheBeastBoy

Loading... 👽
Staff member
Moderator
CSG Member
May 12, 2021
8
5
19
#1
გამარჯობა,
მე ვარ ლაშა და ეს არის Laravel-ის საწყისებზე სტატიების 4.2 ნაწილი. ამ ნაწილში მე ვისაუბრებ მარტივ მოქმედებებზე PHP-ში.

წინა სტატიაში მე ვისაუბრე ცვლადებზე, ცვლადის ტიპებზე და მოქმედებებზე. ამ სტატიაში კი საუბარი მექნება არაპრიმიტიულ მონაცემთა ტიპებზე და if statement-ებზე.

PHP-ში არაპრიმიტიულ მონაცემთა ტიპებს წარმოადგენენ: მასივები და ობიექტები. ამ სტატიაში განვიხილავ მხოლოდ მასივებს, რადგან ობიექტები წარმოადგენენ OOP-ს და მათ სწორად OOP-ის განხილვის დროს ავხსნი.

მასივი არის მონაცემთა ტიპი, რომელშიც შეგვიძლია ერთი და იგივე ტიპის რამდენიმე მონაცემთა ტიპი შევინახოთ. მასივი შედგება ინდექსებისგან და მნიშვნელობებისგან. ინდექსები არიან მიმთითებლები თუ რა მისამართზე ინახება მონაცემი. ათვლა იწყება 0-დან და 0 ინდექსი მიუთითებს პირველ მნიშვნელობას და ასევე შემდეგი მნიშვნელობის მისამართს ოპერატიულ მეხსიერებაში. ჩვეულებრივ მასივში ინდექსები აუცილებლად int ტიპის მონაცემთა ტიპები არიან. ასევე არსებობს ასოცირებული მასივებიც, რომელთა ინდექსები (გასაღებები) ჩვენს მიერ შერჩეული ნებისმიერი მნიშვნელობა შეიძლება იყოს. შეიძლება იყოს რიცხვი, სიტყვა, ასო და ა.შ.

მასივის შექმნა დიდად არ განსხვავდება სხვა ცვლადის შექმნისგან. ვწერთ ისევ $-ის ნიშანს, მასივის სახელს, კვადრატულ ფრჩხილებს (ან array()-ის) და შემდეგ ამ ფრჩხილებში ვწერთ ჩვენთვის სასურველ მონაცემებს. მაგალითად:
$fruits = ['apple', 'peach', 'pineapple'];
ასოცირებულ მასივი კი ასე გამოიყურება:
$fruits_in_storage = ['apple' => 10, 'peach' => 12, 'pineapple' => 5];
მასივებიდან მონაცემის ამოღება კი შემდეგნაირად ხდება:
თუ ჩვენ გვინდა მივწვდეთ მასივში პირველ ელემენტს, ვწერთ: $fruits[0] რაც მოგვცემს 'apple' ელემენტს.
თუ გვსურს რომ ამოვიღოთ პირველი ელემენტი ასოცირებული მასივიდან, მაშინ ვწერთ: $fruits_in_storage['apple'], რაც დააბრუნებს 10-ს.

ოპერატორები გააჩნიათ მასივებსაც.
+ ოპერატორით ხდება ორი მასივის გაერთიანება.
== -ით შედარება ხდება ორი მასივის. ბრუნდება True თუ ერთი და იგივე ინდექსი/მნიშვნელობის წყვილები აქვს ორივე მასივს.
=== -ით ასევე შედარება ხდება, მაგრამ True-ს დასაბრუნებლად საჭიროა ყველა მონაცემი ერთნაირად იყოს დალაგებული და ასევე ერთნაირი ტიპის მნიშნველობები იყოს.
<> და != ნიშნავს რომ ერთი მასივი არ უდრის მეორე ცვლადს
!== ნიშნავს რომ ერთი მასივი არაა იდენტური მეორე მასივის.

if statement-ები
if statement-ები არის კოდის ნაწილი, რომლის შესასრულებლადაც საჭიროა სრულდებოდეს რაღაც წინაპირობა.
სინტაქსი:
if (რაიმე პირობა ) {
კოდი რომელიც უნდა შესრულდეს პირობის დაკმაყოფილების შემთხვევაში.
}
მაგალითად:
if (20 > 15) {
echo "true";
}
ნიშნავს რომ თუ 20 მეტია 15-ზე, მაშინ დაწეროს სტრინგ ტიპის მონაცემთა ტიპი -> true.
if-ში შეგვიძლია გადავცეთ რამდენიმე პირობაც და დავაკავშიროთ ისინი შესაბამისი boolean ოპერატორით.
მაგალითად:
if(20>15 && 9>10)-ში ჩაწერილი კოდი არ შესრულდება, რადგან "და" პირობის დროს ორივე გადაცემული კონდიცია True უნდა იყოს, თუმცა if(15>10 || 9>10)-ზე შესრულდება, რადგან "ან"-ის დროს ერთერთი მაინც უნდა აბრუნებდეს True-ს.
if-ს ასევე აქვს elseif და else საკვანძო სიტყვებიც, რაც საჭიროა განსხვავებული პირობებისთვის, რომელიც მთლიანობაში ერთ დიდ პირობას წარმოადგენენ.
მაგალითად, მაღაზია მუშაობს 10-დან 9 საათამდე, თუმცა 3-დან 4 საათამდე ისვენებენ. ჩვენ გვინდა რომ მუშაობისას გამოვიდეს სხვა მონაცემები, დასვენებისას სხვა და როცა მაღაზია დაკეტილია სხვა.
ამისათვის დავწერთ:
if(time>15 && time<16){
echo "მაღაზია ისვენებს";
}
elseif (time>10 && time < 21){
echo "მაღაზია მუშაობს";
}
else{
echo "მაღაზია დაკეტილია";
}
ასეთი ჩაწერის შემთხევაში, თუ სრულდება პირველი პირობა, if statement-ის დანარჩენი ნაწილი იგნორირდება. თუ პირველი არ სრულდება, მაშინ სრულდება მეორე ნაწილი და მესამე ნაწილი ინგორირდება, ხოლო თუ პირველი და მეორე არ სრულდება, მაშინ ავტომატურად სრულდება მესამე პირობა.
else -ს არ გადაეცემა არანაირი კონდიცია, ის ნიშნავს რომ სხვა ნებისმიერ შემთხვევაში როცა არ სრულდება ზედა პირობები, შესრულდეს მის ბლოკში დაწერილი კოდი.
კიდევ უფრო უკეთესად გაგებისთვის შეგიძლიათ ეს სურათიც იხილოთ:
21.png
if-ის გარეშე if statement არ შეიძლება დაიწეროს, მაგრამ შეგვიძლია არ გვქონდეს elseif ან else კონდიცია.

დამატებითი კითხვების შემთხვევაში შეგიძლიათ დაწეროთ კომენტარებში ან გამოიყენოთ ჩემი სოციალური ქსელი.
მადლობა ყურადღებისთვის.


გამოყენებული წყარო(ები):