PHP-də massivlər bir və ya daha çox məlumat saxlaya biləcəyimiz funksional məlumat sahibləridir. Dəyişənlərdən fərqli olaraq, onlar bir-birindən ayrı bir çox verilənləri saxlaya bilirlər.
PHP-də massivlər iki şəkildə yaradılır:
- array() əvvəlcədən təyin edilmiş funksiya (əvvəlcədən təyin edilmiş funksiya)
- [] kvadrat mötərizə ilə
PHP massivinin yaradılması qaydaları
- Massiv elementləri üçün müəyyən ediləcək açar adlarda hərflər, rəqəmlər (a-z A-Z 0-9) və _ (alt xətt) istifadə edilə bilər.
- PHP tərəfindən qorunan sözlər massiv elementləri üçün açar adları təyin edərkən istifadə edilə bilməz.
- Massiv elementləri üçün müəyyən edilmiş açar adlar hərflərə həssasdır.
- Əgər massiv elementi üçün açar müəyyən edilməyibsə, açar avtomatik olaraq yaradılır.
- => simvollar massivdəki hər bir açar və dəyər arasında yerləşdirilməlidir.
- Massivdə birdən çox element yaradılacaqsa, hər elementdən sonra , (vergül) qoyulmalıdır.
Çox elementli massivdə sonuncu elementin sonuna , (vergül) qoymaq isteğe bağlıdır.
PHP Massivi Yaratma Təklifləri və Məsləhətləri
- Teleseriallara ad verilərkən seçilmiş ad konvensiya qaydaları nəzərə alınmalıdır. Məsələn, massivi $Array kimi adlandırmaq və digər massivi $array kimi çağırmaq oxunaqlılıq üçün tövsiyə edilmir.
- Massivlərdəki elementlərdə açarları deyil, yalnız dəyərləri təyin etsək, açarlar avtomatik olaraq PHP tərəfindən yaradılır. Birinci açar 0-dır və hər düymə 1 artır.
- Massivləri çap etmək üçün istifadə etdiyimiz HTML-in print_r() funksiyası
Biz massivləri < pre> teqlərinə daxil etməklə onların daha yaxşı görünüşlə çap olunmasını təmin edə bilərik. - Massivlərdə sonuncu elementə vergül əlavə etmək və ya əlavə etmək heç nəyi dəyişmir. Bununla belə, diqqətsizlik səbəbindən səhvlərin qarşısını almaq və oxunaqlılığı artırmaq üçün sonuncu elementə vergül əlavə etmək tövsiyə olunur.
- Massivlərə dəyər kimi yalnız dəyişənləri və ya birbaşa məlumatları əlavə etmək lazım deyil. Sabit və ya funksiya təyin edilə bilər.
- Massivlərdə əsas strukturlarda utf8, tire və alt xəttdən başqa xüsusi simvollardan və türk simvollarından istifadə etmək tövsiyə edilmir.
PHP Array Sintaksisi
Qeyd etdik ki, PHP-də massivlər iki fərqli şəkildə yaradıla bilər. Birinci üsulda biz array() adlı standart funksiyadan istifadə edəcəyik. Aşağıdakı nümunəni əlavə etdik.
$friends = array('can', 'sevgi');PHP-də massiv yaratmaq üçün başqa bir üsul kvadrat mötərizələrdən istifadə etməkdir. Aşağıdakı nümunə ilə tanış ola bilərsiniz.
$friends = ['cemil', 'seda'];Yuxarıdakı nümunələrdə yalnız dəyərləri ehtiva edən PHP-də açarsız massiv quruluşunu gördük. İndi biz açarlı massiv strukturunu görəcəyik. Məsələni nəzərdən keçirək.
'best_friend' => 'cemil',
'school_friend' => 'seda',
'home_friend' => 'mehmet',
);Yuxarıdakı misalda qiymətlər təyin edərkən => operatorundan istifadə etdik. Massivlərə qiymətlər təyin edərkən biz '=' bərabərləşdirmə operatorundan deyil, massiv təyinetmə operatorundan '=>' istifadə edirik.
Aşağıdakı nümunədə biz PHP çoxölçülü massiv strukturunu görəcəyik. Çoxsaylı massivlər yaradarkən birinci massivin dəyər hissəsində ikinci massivi təyin edirik.
$friends = array(
'best_friends' => array(
'melih',
'deniz',
),
'school_friends' => array(
'eda',
'erdinç',
),
);PHP massivlərinin çapı
Print_r() ilə massivlərin çapı
PHP-də massivləri çap etmək üçün print_r() funksiyasından istifadə edirik. Aşağıdakı nümunədə $fruits adlı bir massiv yaratdıq və qarpız, banan və üzümün dəyərlərini verdik. Sonra print_r() funksiyasından istifadə edərək massivi çap etdik.
$fruits = array(
'karpuz',
'üzüm',
'muz',
);
print_r($fruits);
/*
* Çıktı:
Array ( [0] => karpuz [1] => üzüm [2] => muz )
*/Aşağıdakı nümunədə əvvəlki nümunədə yaratdığımız massivi HTML < pre> teqlərindən istifadə edərək daha oxunaqlı formada çap etdik.
$fruits = array(
'karpuz',
'üzüm',
'muz',
);
echo '<pre>';
print_r($fruits);
echo '</pre>';
/*
* Çıktı:
Array
(
[0] => karpuz
[1] => üzüm
[2] => muz
)
*/print_r() funksiyası ilə çoxlu massivlərin məlumatlarına daxil ola bilərik.
$friends = array(
'best_friends' => array(
'melih',
'deniz',
),
'school_friends' => array(
'eda',
'erdinç',
),
);
print_r($friends);
// Çıktı: Array ( [best_friends] => Array ( [0] => melih [1] => deniz ) [school_friends] => Array ( [0] => eda [1] => erdinç ) )print_r() funksiyası ilə çoxsaylı massivlərin məlumatlarına daxil olarkən HTML pre teqlərindən istifadə etsək, daha oxunaqlı strukturda çıxış əldə edirik.
$friends = array(
'best_friends' => array(
'melih',
'deniz',
),
'school_friends' => array(
'eda',
'erdinç',
),
);
echo '<pre>';
print_r($friends);
echo '</pre>';
/*
* Çıktı:
Array
(
[best_friends] => Array
(
[0] => melih
[1] => deniz
)
[school_friends] => Array
(
[0] => eda
[1] => erdinç
)
)
*/Massivləri əks-səda ilə çap etmək
Aşağıdakı nümunədə əvvəlki nümunədə yaratdığımız massivi echo ilə çap etməyə çalışdıq, lakin çap edə bilmədik. Array çıxışını çıxış olaraq aldıq. Bəs niyə?
$fruits = array(
'karpuz',
'üzüm',
'muz',
);
echo $fruits;
// Çıktı: ArrayPHP echo formalaşması ilə bütün massivləri çap edə bilmərik. PHP bütün massivləri çap etmək üçün print_r() funksiyasına malikdir. Bununla belə, massivin yalnız bir elementini çap etmək istəsək, echo-dan istifadə edə bilərik. Aşağıdakı nümunədə biz serialın birinci açarına daxil olduq. Yuxarıdakı təkliflər və məsləhətlər bölməsində qeyd etdik ki, massiv yaradarkən açar yaratmasaq, avtomatik olaraq yaradılacaq. PHP avtomatik olaraq 0-dan başlayaraq açarları yaratdı və biz 1-ci açarın məlumatlarına daxil olduq. Çıxış olaraq "üzüm" aldıq.
$fruits = array(
'karpuz',
'üzüm',
'muz',
);
echo $fruits[1];
// Çıktı: üzümBeləliklə, açar yaratsaq, əks-səda ilə açarın məlumatlarına necə daxil olacağıq? Aşağıdakı nümunədə biz açar yaratdıq və açarın adını əks-səda ilə yazaraq əsas məlumatlara daxil olduq.
$fruits = array(
'fruit1' => 'karpuz',
'fruit2' => 'üzüm',
'fruit3' => 'muz',
);
echo $fruits['fruit3'];
// Çıktı: muzÇoxsaylı massivlərin məlumatlarına daxil olmaq üçün ikinci kvadrat mötərizəni yaradırıq. Aşağıdakı nümunəni nəzərdən keçirək. Bu nümunədə çox massiv strukturundan istifadə etdik. Əvvəlcə dostlar massivində school_friends massivinə daxil olduq, sonra isə school_friends massivindəki 1-ci açarın məlumatlarına daxil olduq.
$friends = array(
'best_friends' => array(
'melih',
'deniz',
),
'school_friends' => array(
'eda',
'erdinç',
),
);
echo $friends['school_friends'][1];
// Çıktı: erdinç


