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

php Laravel საწყისები - ფუნქციები და ციკლები - ნაწილი 5

LashaTheBeastBoy

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

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

რა არის ფუნქცია?
ფუნქცია არის კოდის ბლოკი, რომელიც გვეხმარება, რომ ერთი და იგივე კოდი არ ვწეროთ რამდენიმეჯერ. ფუნქციას აქვს სახელი, პარამეტრები და კოდის ნაწილი. ყოველი გამოძახების დროს ეს კოდი თავიდან სრულდება, რაც თავიდან გვარიდებს ერთი და იგივე კოდის მრავალჯერ გადაკოპირებას.

სინტაქსი:
ვიწყებთ საკვანძო სიტყვით function და მერე ვწერთ ფუნქციის სახელს. მაგალითად, გვინდა შევქმნათ ფუნქცია, რომელიც გადაცემულ მნიშვნელობას დაამატებს 1-ს. ვწერთ:
function addOne($number) { //ფუნქციის შემდეგ იწერება მისი სახელი, და მრგვალ ფრჩხილებში იწერება პარამეტრები, რაც შემდგომში უნდა გადაეცეს. შემდეგ მოსდევს ფიგურული ფრჩხილები. მათ შორის იწერება ის კოდი რომელიც ამ ფუნქციაში უნდა შესრულდეს.
$number ++; ეს ზრდის გადაცემულ რიცხვს ერთით.
return $number; ეს კი აბრუნებს პასუხს
}

addOne(5); // ეს არის ფუნქციის გამოძახება. გამოძახებისას ვწერთ მხოლოდ სახელს, და მრგვალ ფრჩხილებში გადავცემთ პარამეტრს. აუცილებელია რომ მოთხოვნილი პარამეტრის და გადაცემული პარამეტრის ტიპები ემთხვეოდეს ერთმანეთს.

საგულისხმოა ისიც, რომ აუცილებელი არაა ფუნქციას გადაეცემოდეს რაიმე მნიშვნელობას, ან აბრუნებდეს რამეს. მაგალითად, შეგვიძლია გვქონდეს რაიმე პრინტ ფუნქცია:
fun printHello() {
echo "hello";
} ასეთი ტიპის ფუნქციას არ გადაეცემა არანაირი პარამეტრი და არც რამეს აბრუნებს.

ციკლები:
ციკლიც არის კოდის ბლოკი, რომელიც შეიძლება ერთხელ, ბევრჯერ ან უსასრულოდ ბევრჯერ შესრულდეს. ციკლის სტრუქტურა არის შემდეგი:
მასში დაწერილი კოდი შესრულდეს იქამდე, სანამ გადაცემული statement იქნება true ტიპის.
რამდენიმე სახის ციკლი არსებობს.
პირველი არის while loop:
while (კონდიცია) {
კოდი რომელიც უნდა შესრულდეს;
}

$i = 1;

while($i <= 5) {
echo "$i <br>";
$i++;
}

while (სანამ), ციკლი სრულდება იქამდე "სანამ" გადაცემული მნიშვნელობა არის true. თუ გადაცემული მნიშვნელობა გადაცემისთანავე არის false, მაშინ ის არასდროს არ შესრულდება. რა ხდება მაშინ თუ გვინდა რომ ციკლი ერთხელ მაინც უეჭველად შესრულდეს? ამისათვის არის do while ციკლი, რომელსაც ჯერ გადაეცემა კოდი, ხოლო შემდეგ ციკლის პირობა.
მაგალითი:
do {
კოდი რომელიც უნდა შესრულდეს;
} while (პირობა);

$i = 1;

do {
echo "$i <br>";
$i++;
} while ($i <= 5);
ამ შემთხვევაში თუ გადაცემული პირობა არის false, do ბლოკში გაწერილი კოდი ერთხელ მაინც შესრულდება.
მესამე ტიპის ციკლი არის for (თვის) ტიპის ციკლი. გადაეცემა ერთი რიცხვითი მნიშნველობა, მაგალითად 10, ყოველი კოდის შესრულების შემდეგ ეს რიცხვი იზრდება იმდენით რამდენითაც ჩვენ გვინდა, ხოლო ჩერდება მაშინ, როცა გარკვეულ რიცხვს მიაღწევს (მაგალითად 20-ს)
მაგალითი:
for (int ტიპის მთვლელი; პირობა; მთვლელის მზრდელი) {
კოდი რომელიც ყველა იტერაციისას უნდა შესრულდეს;
}

for ($i = 0; $i <= 5; $i++) {
echo "$i <br>";
}

ბოლო ტიპის ციკლი კი არის foreach (ყოველისთვის). ეს არის for-ის გამარტივებული ვარიანტი სიებთან მუშაობის დროს.
მაგალითი:
foreach ($მასივი as $ცვლადი) {
კოდი რომელიც უნდა შესრულდეს;
}
თითოეული იტერაციის დროს ცვლადი გახდება მასივის შემდეგი მნიშნველობა.
$fruits = array("apple", "coconut", "banana", "grape");

foreach ($fruits as $fruit) {
echo "$fruit<br>";
}
ამ შემთხვევაში ჩვენი $fruit ცვლადი მიიღებს სიაში არსებულ ყველა მნიშვნელობას. სიებთან მუშაობა ამ ციკლით ძალიან მარტივია.

Break/Continue:
ციკლის შესრულების დროს, შეიძლება რაღაც პირობისას მოგვინდეს ციკლის გაჩერება ან გამოტოვება, ეს ორი საკვანძო სიტყვა სწორედ ამაში გვეხმარება.
მაგალითად, თუ for ციკლს ვატრიალებთ 0-დან 7-მდე, შეგვიძლია გავუწეროთ რომ მეხუთე იტერაციის დროს გაჩერდეს. ამ შემთხვევასი ვიყენებთ brake-ს.
მაგალითი:
for ($i = 0; $i < 7; $i++) {
if ($i == 4) {
break; //კოდი გაწყდება როცა $i ცვლადი გახდება 4-ის ტოლი.
}
echo "$i <br>";
}

continue-ს შემთხვევაში კი შეგვიძლია რაღაც პირობის დროს მთლიანად კი არ გავწყვიტოთ ციკლი, არამედ მხოლოდ მაგ შემთხვევას "გადავახტეთ". მაგალითად, თუ for ციკლს ვატრიალებთ 0-დან 7-მდე, შეგვიძლია გავუწეროთ რომ მეხუთე იტერაციას გადაახტეს. ამ შემთხვევასი ვიყენებთ continue-ს.
მაგალითი:
for ($i = 0; $i < 7; $i++) {
if ($i == 4) {
continue; //ციკლი კოდს გადაატხება როცა $i ცვლადი გახდება 4-ის ტოლი.
}
echo "$i <br>";
}



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


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