PHP საფუძვლები. სინტაქსის საფუძვლები ნავიგაცია HTML-დან

PHP ამჟამად ერთ-ერთი ყველაზე პოპულარული ენაა ვებ აპლიკაციების განსახორციელებლად. ეს კურსიეძღვნება მისი საფუძვლების შესწავლას. აქცენტი გაკეთებულია პრაქტიკული გამოყენებაშეძენილი უნარები.

PHP ენა შეიქმნა ინტერნეტში არსებული კონკრეტული პრაქტიკული პრობლემის გადასაჭრელად (რასაც გაიგებთ კურსის პირველი ლექციის წაკითხვით). ასევე ვეცდებით, თეორიულმა მსჯელობამ ზედმეტად არ მოგვიფანტოს ყურადღება და თითოეულ ლექციაზე ვეცდებით კონკრეტული პრობლემის გადაჭრას. მაგალითების უმეტესობა აღებულია რეალური სისტემიდან: კომპიუტერული მეცნიერების ისტორიის ვირტუალური მუზეუმი. კურსის პირველი ნაწილი ეძღვნება სინტაქსისა და კონტროლის სტრუქტურების საფუძვლების შესწავლას. ამის შემდეგ კლიენტ-სერვერის ტექნოლოგია განიხილება, როგორც PHP ენის ძირითადი აპლიკაციის სფერო. შემდეგ გადავდივართ ჩვენი აზრით ყველაზე სასარგებლო ჩაშენებული ფუნქციების შესწავლაზე და მათი დახმარებით გადაჭრაზე პრაქტიკული პრობლემები. მიუხედავად იმისა, რომ ობიექტის მოდელია PHP ენაარ არის ყველაზე მდიდარი, მისი ფუნდამენტური არსებობა საშუალებას გაძლევთ ბუნებრივად აღწეროთ ობიექტების მონაცემთა მოდელები. როგორც ძირითადი მოდელი, განხილული იქნება ვირტუალური კომპიუტერული მეცნიერების მუზეუმის დოკუმენტის მოდელი. ამის შემდეგ განიხილება მთელი რიგი გამოყენებითი ასპექტები: მუშაობა ფაილური სისტემა, მონაცემთა ბაზით, სტრიქონებით, სესიებით, DOM XML - ეს ყველაფერი საშუალებას მოგცემთ განიხილოთ ძირითადი ამოცანები პრაქტიკული გამოყენებაენა.

წიგნი: სინტაქსის საფუძვლები

სინტაქსის საფუძვლები

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

მაგალითად, მოდით გადავჭრათ სამუშაო ნაწილის შექმნის პრობლემა ელ. მისი მნიშვნელობა შემდეგია.

დავუშვათ, რომ გაქვთ რაიმე სახის რეკლამა და რამდენიმე განსხვავებული ადამიანი, რომლებსაც ეს რეკლამა უნდა გაუგზავნოთ. ამისათვის თქვენ ამზადებთ შაბლონს რეკლამის შინაარსით, რომლის შიგნით არის რამდენიმე პარამეტრი, რომელიც იცვლება (დამოკიდებულია პოტენციურ მიმღებზე).

ძირითადი სინტაქსი

პირველი რაც თქვენ უნდა იცოდეთ დაკავშირებით PHP სინტაქსი, არის ის, თუ როგორ არის ის ჩასმული HTML კოდში, როგორ იცის თარჯიმანი, რომ ეს არის PHP კოდი. ამის შესახებ წინა ლექციაზე უკვე ვისაუბრეთ. ჩვენ არ გავიმეორებთ, მხოლოდ აღვნიშნავთ, რომ მაგალითებში ყველაზე ხშირად გამოვიყენებთ ვარიანტს, ზოგჯერ კი შემოკლებულ ვერსიას.

ინსტრუქციის გამოყოფა

PHP პროგრამა (და ნებისმიერი სხვა პროგრამირების ენა) არის ბრძანებების (ინსტრუქციების) ნაკრები. პროგრამის დამმუშავებელს (პარსერს) სჭირდება როგორმე განასხვავოს ერთი ბრძანება მეორისგან. ამ მიზნით გამოიყენება სპეციალური სიმბოლოები - დელიმიტერები. PHP-ში განცხადებები გამოყოფილია ისევე, როგორც C ან Perl-ში - თითოეული გამონათქვამი მთავრდება მძიმით.

დახურვის ტეგი "?>" ასევე გულისხმობს განცხადების დასრულებას, ამიტომ მას წინ არ უძღვის მძიმით. მაგალითად, შემდეგი ორი კოდის ფრაგმენტი ექვივალენტურია:



კომენტარები

ხშირად, პროგრამების წერისას, საჭირო ხდება კოდზე გარკვეული კომენტარების გაკეთება, რომლებიც არანაირად არ მოქმედებს თავად კოდზე, არამედ მხოლოდ ახსნის მას. ეს მნიშვნელოვანია დიდი პროგრამების შექმნისას და როდესაც რამდენიმე ადამიანი მუშაობს იმავე პროგრამაზე. თუ პროგრამაში არის კომენტარები, ბევრად უფრო ადვილია მისი კოდის გაგება. გარდა ამისა, თუ პრობლემას ნაწილ-ნაწილ მოაგვარებთ, ასევე მოსახერხებელია გამოსავლის დაუმთავრებელ ნაწილებზე კომენტარის გაკეთება, რათა მომავალში არ დაივიწყოთ ისინი. პროგრამირების ყველა ენა იძლევა პროგრამის კოდში კომენტარების ჩართვის შესაძლებლობას. PHP მხარს უჭერს რამდენიმე ტიპის კომენტარს: C, C++ და Unix shell. სიმბოლოები // და # მიუთითებენ ერთსტრიქონიანი კომენტარების დასაწყისს, ხოლო /* და */ აღნიშნავენ, შესაბამისად, მრავალსტრიქონიანი კომენტარების დასაწყისს და დასასრულს.

ცვლადები, მუდმივები და ოპერატორები

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

ცვლადები

PHP-ში ცვლადი აღინიშნება დოლარის ნიშნით, რასაც მოჰყვება მისი სახელი. მაგალითად:

ცვლადის სახელი რეგისტრის მგრძნობიარეა, ე.ი. ცვლადები $my_var და $My_var განსხვავებულია.

ცვლადების სახელები იგივე წესებს ემორჩილება, როგორც სხვა სახელები PHP-ში: სწორი ცვლადის სახელი უნდა დაიწყოს ასოებით ან ქვედა ხაზით, რასაც მოჰყვება ნებისმიერი რაოდენობის ასო, რიცხვი ან ხაზგასმული.

PHP 3-ში ცვლადები ყოველთვის მინიჭებული იყო მნიშვნელობის მიხედვით. ანუ, როდესაც თქვენ ანიჭებთ გამონათქვამს ცვლადს, ორიგინალური გამოხატვის ყველა მნიშვნელობა კოპირდება ამ ცვლადზე. ეს ნიშნავს, რომ, მაგალითად, ერთის მინიჭების შემდეგ მნიშვნელობის ცვლადიერთი მათგანის კიდევ ერთი ცვლილება გავლენას არ ახდენს მეორის ღირებულებაზე.

ამ სკრიპტის შედეგი იქნება შემდეგი:

პირველი დასახელებული ცვლადი უდრის ახალ ტექსტს
ცვლადი სახელად second უდრის ტექსტს

გარდა ამისა, PHP 4 გთავაზობთ ცვლადებისთვის მნიშვნელობების მინიჭების სხვა გზას: მინიჭება მითითებით. ცვლადისთვის მნიშვნელობის მინიჭების მიზნით, ამ მნიშვნელობას უნდა ჰქონდეს სახელი, ე.ი. ის უნდა იყოს წარმოდგენილი რაიმე ცვლადით. იმისათვის, რომ მიუთითოთ, რომ ერთი ცვლადის მნიშვნელობა ენიჭება მეორე ცვლადს მითითებით, თქვენ უნდა წინ უსწროთ პირველი ცვლადის სახელს ამპერსანდის და ნიშნით.

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

ეს სკრიპტი გამოვა შემდეგი:

პირველი დასახელებული ცვლადი უდრის ახალ ტექსტს.
ცვლადი სახელად second უდრის New ტექსტს.

ანუ $first ცვლადთან ერთად შეიცვალა $second ცვლადიც.

მუდმივები

მუდმივი მნიშვნელობების შესანახად, ე.ი. ისეთი სიდიდეები, რომელთა მნიშვნელობა არ იცვლება სკრიპტის შესრულებისას, გამოიყენება მუდმივებად. ასეთი მნიშვნელობები შეიძლება იყოს მათემატიკური მუდმივები, პაროლები, ფაილის ბილიკები და ა.შ. მთავარი განსხვავება მუდმივსა და ცვლადს შორის არის ის, რომ მას არ შეიძლება მიენიჭოს მნიშვნელობა ერთზე მეტჯერ და მისი მნიშვნელობა არ შეიძლება გაუქმდეს მას შემდეგ რაც გამოცხადდება. გარდა ამისა, მუდმივას არ აქვს დოლარის ნიშნის პრეფიქსი და არ შეიძლება განისაზღვროს უბრალოდ მნიშვნელობის მინიჭებით. მაშინ როგორ შეიძლება განვსაზღვროთ მუდმივი? ამისათვის არის სპეციალური ფუნქცია define(). მისი სინტაქსია:

define("მუდმივი_სახელი",
"მუდმივი_მნიშვნელობა",
[შემთხვევის გარეშე])

ნაგულისხმევად, მუდმივი სახელები რეგისტრირებულია. თითოეული მუდმივისთვის, ეს შეიძლება შეიცვალოს რეგისტრირებული არგუმენტის True-ზე დაყენებით. არსებობს კონვენცია, რომ მუდმივი სახელები ყოველთვის იწერება დიდი ასოებით.

თქვენ შეგიძლიათ მიიღოთ მუდმივი მნიშვნელობა მისი სახელის მითითებით. ცვლადებისგან განსხვავებით, თქვენ არ გჭირდებათ მუდმივი სახელის წინ $ სიმბოლო. გარდა ამისა, მუდმივის მნიშვნელობის მისაღებად, შეგიძლიათ გამოიყენოთ კონსტანტი() ფუნქცია მუდმივის სახელით, როგორც პარამეტრი.

მომხმარებლის მიერ გამოცხადებული ცვლადების გარდა, რომელზეც ახლახან ვისაუბრეთ, PHP-ს აქვს მთელი რიგი მუდმივები, რომლებიც განსაზღვრულია თავად თარჯიმანის მიერ. მაგალითად, __FILE__ მუდმივი ინახავს პროგრამის ფაილის სახელს (და მისკენ მიმავალ გზას), რომელიც შესრულებულია მომენტში, __FUNCTION__ შეიცავს ფუნქციის სახელს, __CLASS__ – კლასის სახელს, PHP_VERSION – PHP თარჯიმნის ვერსიას. სრული სიაწინასწარ განსაზღვრული მუდმივების მიღება შესაძლებელია PHP სახელმძღვანელოს წაკითხვით.

ოპერატორები

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

დამატება

გამოკლება

გამრავლება

გაყოფის დარჩენილი ნაწილი

შეერთება (სტრიქონების დამატება)

(ეს არის სტრიქონი, რომელიც შედგება $a და $b-სგან)

დავალება

ოპერატორის მარცხნივ ცვლადს მიენიჭება ნებისმიერი ოპერაციის შესრულების შედეგად მიღებული მნიშვნელობა ან ცვლადი/მუდმივი მარჯვენა მხარეს.

$a = ($b = 4) +5;

($a იქნება 9-ის ტოლი, $b 4-ის ტოლი)

შემცირება. ამატებს რიცხვს ცვლადს და შემდეგ ანიჭებს მას მიღებულ მნიშვნელობას

(ექვივალენტური $a = $a + 5;)

შემოკლებით, როგორც შეერთებისა და მინიჭების ოპერაციების კომბინაცია (ჯერ ემატება სტრიქონი, შემდეგ მიღებული სტრიქონი იწერება ცვლადში)

$b = "გამარჯობა";
$b .= "ყველა";

შედეგი: $b="გამარჯობა ყველას"

$a და $b არის ჭეშმარიტი (True)

$a ან $b ცვლადებიდან ერთი მაინც არის true (შესაძლოა ორივე)

ექსკლუზიური ან

ერთ-ერთი ცვლადი მართალია. გამორიცხულია შემთხვევა, როცა ორივე სიმართლეა

ინვერსია (არა)

თუ $a=True მაშინ!$a=False და პირიქით

თანასწორობა

ცვლადების მნიშვნელობები ტოლია

ეკვივალენტობა

ცვლადების მნიშვნელობები და ტიპები თანაბარია

უთანასწორობა

ცვლადი მნიშვნელობები არ არის თანაბარი

უთანასწორობა

არაეკვივალენტობა

ცვლადები არ არის ეკვივალენტური

ნაკლები ან ტოლი

მეტი ან ტოლი

წინასწარი ზრდა

ზრდის $a-ს და აბრუნებს $a-ს

შემდგომი ზრდა

აბრუნებს $a-ს, შემდეგ ზრდის $a-ს სათითაოდ

წინასწარი შემცირება

ამცირებს $a-ს სათითაოდ და აბრუნებს $a-ს

შემდგომი კლება

აბრუნებს $a-ს, შემდეგ ამცირებს $a-ს სათითაოდ

მონაცემთა ტიპები

PHP მხარს უჭერს მონაცემთა რვა მარტივ ტიპს.

ოთხი სკალარული ტიპი:

ლოგიკური (ლოგიკური);

მთელი რიცხვი;

Float (მცურავი წერტილი);

სიმებიანი

ორი შერეული ტიპი:

მასივი (მასივი);

ობიექტი.

და ორი სპეციალური ტიპი:

რესურსი (რესურსი);

PHP აშკარად არ აცხადებს ცვლადის ტიპებს. სასურველია თავად თარჯიმანმა გააკეთოს ეს პროგრამის შესრულების დროს, იმის მიხედვით, თუ რა კონტექსტშია გამოყენებული ცვლადი. განვიხილოთ ყველა ჩამოთვლილი მონაცემთა ტიპი თანმიმდევრობით.

აკრიფეთ ლოგიკური (ლოგიკური ან ლოგიკური ტიპი)

ეს უმარტივესი ტიპი გამოხატავს მნიშვნელობის ჭეშმარიტებას, ანუ ამ ტიპის ცვლადს შეიძლება ჰქონდეს მხოლოდ ორი მნიშვნელობა - true TRUE ან false FALSE.

ლოგიკური ტიპის დასადგენად გამოიყენეთ საკვანძო სიტყვამართალი თუ მცდარი. ორივე შეუცვლელია.

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

აკრიფეთ მთელი რიცხვი

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

თუ თქვენ იყენებთ რვადიან რიცხვთა სისტემას, თქვენ უნდა უწინდებდეთ რიცხვს 0-ით (ნული), რომ გამოიყენოთ თექვსმეტობითი რიცხვითი სისტემა, თქვენ უნდა წინ უსწროთ რიცხვს 0x-ით.

მთელი რიცხვის ზომა განსხვავდება პლატფორმის მიხედვით, თუმცა, როგორც წესი, მაქსიმალური მნიშვნელობა არის დაახლოებით ორი მილიარდი (ეს არის 32-ბიტიანი ხელმოწერილი). PHP მხარს არ უჭერს ხელმოუწერელ მთელ რიცხვებს.

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

PHP-ში არ არის მთელი რიცხვის გაყოფის ოპერატორი. 1/2-ის შედეგი იქნება მცურავი წერტილი ნომერი 0.5. თქვენ შეგიძლიათ გადასცეთ მნიშვნელობა მთელ რიცხვზე, რომელიც ყოველთვის ამრგვალებს მას, ან გამოიყენოთ round() ფუნქცია, რომელიც ამრგვალებს მნიშვნელობას სტანდარტული წესების მიხედვით. ცვლადის კონკრეტულ ტიპად გადასაყვანად, ცვლადის წინ ფრჩხილებში უნდა მიუთითოთ სასურველი ტიპი. მაგალითად, $a=0.5 ცვლადის მთელი რიცხვის ტიპად გადასაყვანად, თქვენ უნდა დაწეროთ (მთლიანი)(0.5) ან (მთელი რიცხვი) $a ან გამოიყენოთ სტენოგრაფიული აღნიშვნა (int)(0.5). ამ პრინციპის გამოყენებით აშკარა ტიპის კონვერტაციის შესაძლებლობა არსებობს მონაცემთა ყველა ტიპისთვის (რა თქმა უნდა, ერთი ტიპის მნიშვნელობა ყოველთვის არ შეიძლება გარდაიქმნას სხვა ტიპზე). ჩვენ არ შევეხებით ტიპის კასტინგის ყველა სირთულეს, რადგან PHP ამას ავტომატურად აკეთებს კონტექსტიდან გამომდინარე.

აკრიფეთ float (მოძრავი პუნქტიანი ნომრები)

მცურავი წერტილის რიცხვები (ასევე ცნობილია როგორც ორმაგი ან რეალური რიცხვები) შეიძლება განისაზღვროს რომელიმე შემდეგი სინტაქსის გამოყენებით:

მცურავი წერტილის ნომრის ზომა მერყეობს პლატფორმის მიხედვით, თუმცა მაქსიმუმი, როგორც წესი, არის ~1.8e308, დაახლოებით 14 ათობითი ციფრის სიზუსტით.

აკრიფეთ string

სტრიქონი არის სიმბოლოების ნაკრები. IN PHP სიმბოლოიგივეა, რაც ბაიტი, რაც ნიშნავს, რომ არის ზუსტად 256 განსხვავებული სიმბოლო. ეს ასევე ნიშნავს, რომ PHP-ს არ აქვს მშობლიური Unicode მხარდაჭერა. PHP-ში სტრიქონების ზომაზე შეზღუდვები პრაქტიკულად არ არსებობს, ამიტომ მათი სიგრძეზე ფიქრის არანაირი საფუძველი არ არსებობს.

PHP-ში სტრიქონი შეიძლება განისაზღვროს სამი განსხვავებული გზით:

ერთჯერადი ციტატების გამოყენება;

ორმაგი ბრჭყალების გამოყენება;

ჰერედოკის სინტაქსი.

ცალკეული ციტატები

სტრიქონის განსაზღვრის უმარტივესი გზაა მისი ჩასმა ერთ ბრჭყალებში """. იმისათვის, რომ გამოიყენოთ ერთი ციტატა სტრიქონში, ისევე როგორც ბევრ სხვა ენაში, თქვენ უნდა წინ უსწროთ მას უკანა ხაზით "", ანუ გაქცევა. თუ უკანა ხაზი ზოლი უნდა წავიდეს ერთი ციტატის წინ ან უნდა იყოს დუბლირებული ""-ით;

ერთ ბრჭყალებში ჩასმული სტრიქონის ფარგლებში, თუ უკუღმა ხაზგასმული "" ჩნდება რაიმე სხვა სიმბოლოს წინ (გარდა "" ან ""-ისა), ის განიხილება, როგორც ნორმალური სიმბოლო და გამოდის, როგორც ყველა სხვა. მხოლოდ იმ შემთხვევაში, თუ ის არის ხაზის ბოლოს, დახურვის ციტატამდე.

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

ორმაგი ციტატები

თუ სტრიქონი ჩასმულია ორმაგ ბრჭყალებში """, PHP ამოიცნობს მეტიგაქცევის თანმიმდევრობა სპეციალური პერსონაჟებისთვის. ზოგიერთი მათგანი ნაჩვენებია ცხრილში 2.7.

ახალი ხაზი (LF ან 0x0A (10) ASCII-ში)

უკან დაბრუნება (CR ან 0x0D (13) ASCII-ში)

ჰორიზონტალური ჩანართი (HT ან 0x09 (9) ASCII-ში)

უკანა ხაზი

დოლარის ნიშანი

ორმაგი ციტატა

ვიმეორებთ, თუ სხვა პერსონაჟს გაქცევა გინდათ, უკანა ხაზიც დაიბეჭდება!

სიმების ყველაზე მნიშვნელოვანი თვისება ორმაგი ციტატებიარის ცვლადების დამუშავება.

სტრიქონების განსაზღვრის კიდევ ერთი გზა არის heredoc სინტაქსის გამოყენება. ამ შემთხვევაში, ხაზი უნდა დაიწყოს პერსონაჟით

შენიშვნა: Heredoc მხარდაჭერა დაემატა PHP 4-ში.

აკრიფეთ მასივი

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

თქვენ შეგიძლიათ განსაზღვროთ მასივი array() კონსტრუქციის გამოყენებით ან მის ელემენტებს მნიშვნელობების პირდაპირ მინიჭებით.

განმარტება array() გამოყენებით

მასივი ( => მნიშვნელობა,
=> მნიშვნელობა 1, ...)

array() ენის კონსტრუქცია პარამეტრებად იღებს key => მნიშვნელობის წყვილებს, გამოყოფილი მძიმეებით. => სიმბოლო შეესაბამება მნიშვნელობას მის გასაღებს. გასაღები შეიძლება იყოს მთელი რიცხვი ან სტრიქონი, ხოლო მნიშვნელობა შეიძლება იყოს ნებისმიერი ხელმისაწვდომი PHP ტიპი. მასივის ციფრულ გასაღებს ხშირად ინდექსს უწოდებენ. მასივის ინდექსირება PHP-ში იწყება ნულიდან. მასივის ელემენტის მნიშვნელობის მიღება შესაძლებელია კვადრატულ ფრჩხილებში მასივის სახელის შემდეგ მოძიებული ელემენტის გასაღების მითითებით. თუ მასივის გასაღები არის სტანდარტული მთელი რიცხვი, ის განიხილება როგორც რიცხვი, წინააღმდეგ შემთხვევაში, იგი განიხილება როგორც სტრიქონი. მაშასადამე, $a["1"]-ის დაწერა $a-ს ტოლფასია, ისევე როგორც $a["-1"] $a[-1]-ის ექვივალენტურია.

თუ ელემენტისთვის არ არის მითითებული გასაღები, მაშინ გასაღებად მიიღება ერთით გაზრდილი მაქსიმალური რიცხვითი გასაღები. თუ თქვენ მიუთითებთ გასაღებს, რომელსაც უკვე მინიჭებული აქვს მნიშვნელობა, ის გადაიწერება. PHP 4.3.0-ის მდგომარეობით, თუ მაქსიმალური გასაღები არის უარყოფითი რიცხვი, მაშინ მასივის შემდეგი გასაღები იქნება ნული (0).

თუ თქვენ იყენებთ TRUE-ს ან FALSE-ს, როგორც გასაღებს, მაშინ მისი მნიშვნელობა გარდაიქმნება ერთი და ნულოვანი ტიპის მთელ რიცხვში, შესაბამისად. თუ გამოვიყენებთ NULL, მაშინ გასაღების ნაცვლად მივიღებთ ცარიელ სტრიქონს. თქვენ ასევე შეგიძლიათ გამოიყენოთ ცარიელი სტრიქონი, როგორც გასაღები, მაგრამ ის უნდა იყოს ჩასმული ბრჭყალებში. ასე რომ, ეს არ არის იგივე, რაც ცარიელი კვადრატული ფრჩხილების გამოყენება. მასივები და ობიექტები არ შეიძლება გამოყენებულ იქნას გასაღებად.

განმარტება კვადრატული ფრჩხილის სინტაქსის გამოყენებით

თქვენ შეგიძლიათ შექმნათ მასივი მასში მნიშვნელობების უბრალოდ ჩაწერით. როგორც უკვე ვთქვით, მასივის ელემენტის მნიშვნელობის მიღება შესაძლებელია კვადრატული ფრჩხილების გამოყენებით, რომლის შიგნით უნდა მიუთითოთ მისი გასაღები, მაგალითად, $book["php"]. თუ დააკონკრეტეთ ახალი გასაღებიდა ახალი მნიშვნელობა, მაგალითად, $book["new_key"]="new_value", შემდეგ დაემატება მასივს ახალი ელემენტი. თუ ჩვენ არ მივუთითებთ გასაღებს, მაგრამ მხოლოდ მივანიჭებთ მნიშვნელობას $book="new_value", მაშინ მასივის ახალ ელემენტს ექნება რიცხვითი გასაღები, რომელიც ერთით მეტია არსებულ მაქსიმუმზე. თუ მასივი, რომელსაც ჩვენ ვამატებთ მნიშვნელობებს, უკვე არ არსებობს, ის შეიქმნება.

იმისათვის, რომ შეცვალოთ კონკრეტული მასივის ელემენტი, თქვენ უბრალოდ უნდა მივანიჭოთ მას და მის გასაღებს ახალი მნიშვნელობა. თქვენ არ შეგიძლიათ შეცვალოთ ელემენტის გასაღები, შეგიძლიათ წაშალოთ მხოლოდ ელემენტი (გასაღები/მნიშვნელობის წყვილი) და დაამატოთ ახალი. მასივის ელემენტის მოსაშორებლად, თქვენ უნდა გამოიყენოთ unset() ფუნქცია.

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