Massiv elementlərinin daxil edilməsi və çıxarılması. Massiləyə elementlərin əlavə edilməsi php massivinə dəyər əlavə edin
Massivə elementlərin əlavə edilməsi
Massiv varsa, ona əlavə elementlər əlavə edə bilərsiniz. Bu, sətir və ya nömrəyə dəyər təyin etmək kimi birbaşa təyin operatorundan (bərabər işarə) istifadə etməklə həyata keçirilir. Bu halda, əlavə edilmiş elementin açarını göstərməyə ehtiyac yoxdur, lakin istənilən halda massivə daxil olarkən kvadrat mötərizə tələb olunur. $List-ə iki yeni element əlavə edərək yazacağıq:
$List = "armud";
$List = "pomidor";
Açar göstərilməyibsə, hər bir element mövcud massiləyə əlavə olunacaq və növbəti sıra nömrəsi ilə indeksləşdiriləcək. Əgər elementləri 1, 2 və 3 indeksləri olan massivə əvvəlki bölmədən yeni elementlər əlavə etsək, armudun indeksi 4, pomidorun isə 5 indeksi olacaq. Siz açıq şəkildə indeksi təyin etdikdə və onunla qiymət artıq mövcuddursa, həmin məkanda mövcud dəyər itiriləcək və yenisi ilə əvəz olunacaq:
$List = "armud";
$List = "pomidor";
İndi indeksi 4 olan elementin dəyəri "pomidordur" və "portağal" elementi artıq yoxdur. Mövcud verilənlərin üzərinə xüsusi olaraq yazmaq istəmədiyiniz halda, seriala elementlər əlavə edərkən açarı göstərməməyi məsləhət görərdim. Bununla belə, sətirlər indeks kimi istifadə olunursa, dəyərləri itirməmək üçün açarlar göstərilməlidir.
Biz soups.php skriptini yenidən yazaraq massivə yeni elementlər əlavə etməyə çalışacağıq. Əvvəlcə massivin orijinal elementlərini, sonra isə əlavə olunmuşlarla birlikdə orijinal elementləri çap etməklə baş verən dəyişiklikləri asanlıqla görə bilərik. Siz strlen() funksiyasından istifadə edərək sətir uzunluğunu (tərkibindəki simvolların sayını) öyrənə bildiyiniz kimi, count() funksiyasından istifadə edərək massivdəki elementlərin sayını təyin etmək də asandır:
$HowMany = say ($Array);
- Soups.php faylını mətn redaktorunda açın.
- array() funksiyasından istifadə edərək massivi işə saldıqdan sonra aşağıdakı girişi əlavə edin: $HowMany = say ($Şorbalar);
- Massivə üç əlavə element əlavə edin. $Soups["Thursday"] = "Toyuq Əriştəsi";
- Massivdəki elementləri sayın və bu dəyəri çap edin. $HowManyNow = say ($Şorbalar);
- Skripti saxla (Siyahı 7.2), onu serverə yükləyin və brauzerdə sınaqdan keçirin (Şəkil).
print("Massivdə $HowMany element var.
\n");
count() funksiyası $Soups massivində neçə elementin olduğunu müəyyən edəcək. Bu dəyəri dəyişənə təyin etməklə onu çap etmək olar.
$Sups["Friday"] = "Pomidor";
$Soups["Saturday"] = "Brokoli qaymağı";
print("Massiv indi $HowManyNow elementlərini ehtiva edir.
\n");
Siyahı 7.2 Siz uyğun operatordan istifadə edərək hər bir elementə qiymət təyin etməklə, bir dəfə olaraq massivə bir element əlavə edə bilərsiniz. count() funksiyası massivdə neçə elementin olduğunu öyrənmək üçün istifadə edilə bilər.
1
2
3
4
5 6 $Şorbalar = massiv(
7 "Bazar ertəsi"=>"Clam Chowder",
8 "Çərşənbə axşamı"=>"Ağ Toyuq Çili",
9 "Çərşənbə"=>"Vegetarian");
11 print("Massivdə $HowMany var
elementləri.
\n");
12 $Şorbalar["Cümə axşamı"] = "Toyuq Əriştəsi";
13 $Şorbalar["Cümə"] = "Pomidor";
14 $Şorbalar["Şənbə"] = "Krem
Brokoli";
15 $HowManyNow = say ($Şorbalar);
16 print("Massiv indi ehtiva edir
$HowManyNow elementi.
\n");
17 ?>
18
19
PHP 4.0 bir massivi digərinə əlavə etməyə imkan verən yeni funksiya təqdim etdi. Bu əməliyyatı massivlərin birləşdirilməsi və ya birləşdirilməsi də adlandırmaq olar. array_merge() funksiyası aşağıdakı kimi çağırılır:
$NewArray = array_merge($OneArray, $TwoArray);
Əgər siz PHP 4.0 quraşdırılmış serverdə işləyirsinizsə, bu funksiyadan istifadə edərək soups.php səhifəsini yenidən yaza bilərsiniz.
İki massivin birləşdirilməsi
- Əgər hələ açıq deyilsə, soups.php-ni mətn redaktorunda açın.
- $Soups massivini işə saldıqdan sonra onun elementlərini sayın və nəticəni çap edin. $HowMany = say ($Şorbalar);
- İki massivi birinə birləşdirin. $TheSoups = array_merge($Sups, $Sups2);
- Yeni massivin elementlərini sayın və nəticəni çap edin. $HowMany3 = say ($TheSoups);
- PHP və HTML sənədini bağlayın. ?>
- Faylı yadda saxlayın (Siyahı 7.3), onu serverə yükləyin və brauzerdə sınaqdan keçirin (Şəkil).
print("$Soups massivi $HowMany elementləri ehtiva edir.
\n");
- İkinci massiv yaradın, onun elementlərini sayın və nəticəni çap edin.
"Cümə axşamı"=>"Toyuq Əriştə",
"Cümə"=>"Pomidor",
"Şənbə"=>"Brokoli kremi");
$HowMany2 = say ($Sups2);
print("$Soups2 massivi $HowMany2 elementləri ehtiva edir.
\n");
Massivlərin bu ardıcıllıqla düzüldüyünə əmin olun ($Soups, sonra $Soups2), yəni cümə axşamı və cümə günlərinin elementləri çərşənbənin bazar ertəsi elementlərinə əlavə edilməlidir, əksinə deyil.
print("$TheSoups massivi ehtiva edir
-$HowMany3 element.
\n");
Siyahı 7.3 Array_merge() funksiyası yenidir. Bu, PHP 4.0-da massivlərlə işləmək üçün nəzərdə tutulmuş bir neçə əlavə funksiyadan biridir. Massivlərdən istifadə edərək çox vaxta qənaət edə bilərsiniz.
1
2
3
4
5 6 $Şorbalar = massiv!
7 "Bazar ertəsi"=>"Clam Chowder",
"Çərşənbə axşamı"=>"Ağ Toyuq Çili",
8 "Çərşənbə"=>"Vegetarian"
9);
10 $HowMany = say ($Şorbalar);
11 print("$Soups massivi $HowMany elementləri ehtiva edir.
\n");
12 $Şorbalar2 = massiv(
13 "Cümə axşamı"=>"Toyuq Əriştə",
14 "Cümə"=>"Pomidor",
15 "Şənbə"=>"Brokoli kremi"
16); .
17 $HowMany2 = say ($Sups2);
18 çap ("$Soups2 massivi $HowMany2 elementləri ehtiva edir.
\n");
19 $TbeSoupe = array_merge ($Sups, $Sups2);
20 $HowMany3 = saymaq ($TheSoups) ;
21 çap ("$TheSoups massivində .$HowMany3 element var.
\n");
22 ?> "
23
24
Birbaşa massivə elementlər əlavə edərkən diqqətli olun. Bu düzgün şəkildə belə edilir: $Ar ray = "Bunu əlavə et"; iyai$Aggau = "Bunu əlavə et";, lakin bu belə düzgündür: $Aggau = "Bunu əlavə et";. Mötərizələri qoymağı unutsanız, əlavə dəyər mövcud massivi məhv edəcək, onu sadə bir sətir və ya rəqəmə çevirəcəkdir.
PHP 4.0 massivlərlə işləmək üçün bir neçə yeni funksiyaya malikdir. Onların hamısı kitabda müzakirə olunmur. Bununla belə, bu mövzu ilə bağlı tam məlumat PHP veb saytında tapıla bilən PHP dil təlimatında var. Əgər serveriniz PHP 3.x ilə işləyirsə, PHP 4.0-a xas olan yeni funksiyalardan istifadə etməməyə diqqət yetirin.
massiv_pad
Massivə bir neçə element əlavə edir.
Sintaksis:
massiv_pad(massiv girişi, int pad_ölçüsü, qarışıq pad_dəyəri)
array_pad() funksiyası pad_dəyərləri olan elementlərin əlavə olunduğu daxiletmə massivinin surətini qaytarır, beləliklə, əldə edilən massivdəki elementlərin sayı pad_size olsun.
pad_size>0 olarsa, elementlər massivin sonuna əlavə olunacaq və əgər<0 - то в начало.
Əgər pad_size dəyəri orijinal giriş massivindəki elementlərdən azdırsa, heç bir əlavə baş verməyəcək və funksiya orijinal giriş massivini qaytaracaq.
array_pad() funksiyasından istifadə nümunəsi:
$arr = massiv(12, 10, 4);
$nəticə = massiv_pad($arr, 5, 0);
// $nəticə = massiv(12, 10, 4, 0, 0);
$nəticə = massiv_pad($arr, -7, -1);
// $nəticə = massiv(-1, -1, -1, -1, 12, 10, 4)
$nəticə = massiv_pad($arr, 2, "noop");
// əlavə etməyəcək
massiv_xəritəsi
Müəyyən edilmiş massivlərin bütün elementlərinə xüsusi funksiya tətbiq edin.
Sintaksis:
massiv_xəritəsi(qarışıq geri çağırış, massiv 1 [, massiv ...])
array_map() funksiyası istifadəçinin geri çağırış funksiyası tərəfindən işləndikdən sonra bütün müəyyən edilmiş massivlərin elementlərini ehtiva edən massivi qaytarır.
İstifadəçi tərəfindən müəyyən edilmiş funksiyaya ötürülən parametrlərin sayı array_map() funksiyasına ötürülən massivlərin sayına uyğun olmalıdır.
array_map() funksiyasından istifadə nümunəsi: Tək massivin işlənməsi
$n*$n*$n qaytarmaq;
}
$a = massiv(1, 2, 3, 4, 5);
$b = massiv_xəritəsi("kub", $a);
çap_r($b);
?>
massiv(
=> 1
=> 8
=> 27
=> 64
=> 125
)
array_map() funksiyasından istifadə nümunəsi: Çoxlu massivlərin işlənməsi
qaytarmaq "İspan dilində $n rəqəmi $m-dir";
}
funksiya map_İspan dili($n, $m) (
qaytarma massivi ($n => $m);
}
$a = massiv(1, 2, 3, 4, 5);
$b = massiv("uno", "dos", "tres", "cuatro", "cinco");
$c = massiv_xəritəsi("show_Spanish", $a, $b);
çap_r($c);
$d = massiv_xəritəsi("map_Spanish", $a , $b);
çap_r($d);
?>
Verilmiş nümunə aşağıdakıları verəcəkdir:
// $cArray-ın çapı(
=> İspan dilində 1 nömrə - uno
=> İspan dilində 2 nömrə - dos
=> İspan dilində 3 nömrə - tres
=> İspan dilində 4 nömrə - cuatro
=> İspan dilində 5 nömrə - cinco
)
// $dArray-ın çapı(
=>Masiv
=> yox
)
=>Masiv
=> dos
)
=>Masiv
=> tres
)
=>Masiv
=> cuatro
)
=>Masiv
=> cinco
)
Tipik olaraq array_map() funksiyası eyni ölçüyə malik massivlərdə istifadə olunur. Massivlərin müxtəlif uzunluqları varsa, daha kiçik olanlar boş dəyərləri olan elementlərlə doldurulur.
Qeyd etmək lazımdır ki, emal funksiyasının adının yerinə null təyin etsəniz, massivlər massivi yaradılacaq.
array_map() funksiyasından istifadə nümunəsi: Massivlər massivinin yaradılması
$b = massiv("bir", "iki", "üç", "dörd", "beş");
$c = massiv("uno", "dos", "tres", "cuatro", "cinco");
$d = massiv_xəritəsi(null, $a, $b, $c);
çap_r($d);
?>
Verilmiş nümunə aşağıdakıları verəcəkdir:
massiv(
=>Masiv
=> 1
=> bir
=> yox
)
=>Masiv
=> 2
=> iki
=> dos
)
=>Masiv
=> 3
=> üç
=> tres
)
=>Masiv
=> 4
=> dörd
=> cuatro
)
=>Masiv
=> 5
=> beş
=> cinco
)
PHP 4 >= 4.0.6, PHP 5 tərəfindən dəstəklənən funksiya
massiv_pop
Massivin son elementlərini götürür və silir.
Sintaksis:
Qarışıq massiv_pop(massiv arr);
array_pop() funksiyası arr massivindən sonuncu elementi çıxarır və sonra onu geri qaytarır. Bu funksiya ilə biz yığına bənzər strukturlar qura bilərik. Əgər arr massivi boş idisə və ya massiv deyilsə, funksiya NULL boş sətri qaytarır.
array_pop() funksiyasından istifadə etdikdən sonra massiv kursoru başlanğıca qoyulur.
array_pop() funksiyasından istifadə nümunəsi:
$fruits = array_pop($stack);
print_r($stack);
print_r($meyvələr);
?>
Nümunə aşağıdakıları çıxaracaq:
massiv(
=> narıncı
=> banan
=> alma
)
PHP 4, PHP 5 tərəfindən dəstəklənən funksiya
array_push
Massivin sonuna bir və ya bir neçə element əlavə edir.
Sintaksis:
Int array_push(massiv arr, qarışıq var1 [, qarışıq var2, ..])
array_push() funksiyası arr massivinə var1, var2 və s. elementləri əlavə edir. O, onlara ədədi indekslər təyin edir - standart üçün olduğu kimi.
Yalnız bir element əlavə etmək lazımdırsa, bu operatordan istifadə etmək daha asan ola bilər:
Array_push($Arr,1000); // funksiyanı çağırın$Arr=100; // eyni şey, lakin daha qısa
array_push() funksiyasından istifadə nümunəsi:
array_push($stack, "alma", "moruq");
print_r($stack);
?>
Nümunə aşağıdakıları çıxaracaq:
massiv(
=> narıncı
=> banan
=> alma
=> moruq
)
Nəzərə alın ki, array_push() funksiyası massivi yığın kimi qəbul edir və həmişə sonuna elementlər əlavə edir.
PHP 4, PHP 5 tərəfindən dəstəklənən funksiya
array_shift
Massivin ilk elementini götürür və silir.
Sintaksis:
Qarışıq massiv_shift(massiv arr)
array_shift() funksiyası arr massivinin birinci elementini götürür və onu qaytarır. O, array_pop() ilə çox oxşardır.
lakin o, son elementi deyil, yalnız başlanğıcı qəbul edir, həm də bütün massivin kifayət qədər güclü “sarsıntısını” yaradır: axırda birinci elementi çıxararkən, bütün qalan elementlərin bütün rəqəmsal indekslərini tənzimləməlisiniz, çünki massivin bütün sonrakı elementləri bir mövqe irəli sürüşdürülür. Simli massiv düymələri dəyişdirilmir.
Əgər arr boşdursa və ya massiv deyilsə, funksiya NULL qaytarır.
Bu funksiyadan istifadə etdikdən sonra massiv göstəricisi başlanğıca köçürülür.
array_shift() funksiyasından istifadə nümunəsi:
$fruit = array_shift($stack);
print_r($stack);
?>
Bu nümunə aşağıdakıları çıxaracaq:
massiv(
=> banan
=> alma
=> moruq
)
və $fruit dəyişəni "narıncı" dəyərinə sahib olacaq
PHP 4, PHP 5 tərəfindən dəstəklənən funksiya
massiv_unshift
Massivin əvvəlinə bir və ya daha çox dəyər əlavə edir.
Sintaksis:
Int array_unshift(siyahı sırası, qarışıq var1 [,qarışıq var2, ...])
array_unshift() funksiyası ötürülən var dəyərlərini massivin əvvəlinə əlavə edir. Massivdə yeni elementlərin sırası qorunur. Massivin bütün rəqəmsal indeksləri elə dəyişdiriləcək ki, sıfırdan başlayır. Massivin bütün sətir indeksləri dəyişməzdir.
Funksiya massivdəki elementlərin yeni sayını qaytarır.
array_unshift() funksiyasından istifadə nümunəsi:
array_unshift($queue, "alma", "moruq");
?>
İndi $queue dəyişəni aşağıdakı elementlərə sahib olacaq:
massiv(
=> alma
=> moruq
=> narıncı
=> banan
)
PHP 4, PHP 5 tərəfindən dəstəklənən funksiya
massiv_unikal
Massivdəki dublikat dəyərləri silir.
Sintaksis:
massiv_unique(massiv arr)
array_unique() funksiyası bütün dublikat dəyərləri silməklə arr massivindəki bütün unikal dəyərlərdən və onların açarlarından ibarət massivi qaytarır. Qarşılaşılan ilk açar=>dəyər cütləri yaranan massivdə yerləşdirilir. İndekslər qorunur.
array_unique() funksiyasından istifadə nümunəsi:
"yaşıl", "qırmızı", "b" =>
"yaşıl", "mavi", "qırmızı");
print_r($nəticə);
?>
Nümunə aşağıdakıları çıxaracaq:
massiv(
[a] => yaşıl
=>qırmızı
=> mavi
)
array_unique() funksiyasından istifadə nümunəsi: Məlumat növlərinin müqayisəsi
$nəticə = massiv_unique($giriş);
var_dump($nəticə);
?>
Nümunə aşağıdakıları çıxaracaq:
Massiv(2) (
=> int(4)
=> sətir (1) "3"
}
PHP 4 >= 4.0.1, PHP 5 tərəfindən dəstəklənən funksiya
massiv_yığın
Funksiya massivi hissələrə bölür.
Sintaksis:
Massiv massivi (massiv arr, int ölçüsü [, bool qorunan_düymələr])
array_chunk() funksiyası orijinal arr massivini uzunluğu ədədin ölçüsü ilə müəyyən edilən bir neçə massivə bölür. Əgər orijinal massivin ölçüsü hissələrin ölçüsünə tam bölünmürsə, onda son massiv daha kiçik ölçüyə malik olacaq.
array_chunk() funksiyası indeksləri 0-dan başlayan massivlərin sayına qədər olan çoxölçülü massivi qaytarır, dəyərlər isə bölünmə nəticəsində alınan massivlərdir.
İsteğe bağlı preserve_keys parametri orijinal massivin açarlarının qorunub saxlanmamasını müəyyənləşdirir. Əgər bu parametr yalnışdırsa (default dəyər), onda yaranan massivlərin indeksləri sıfırdan başlayan rəqəmlərlə göstəriləcək. Parametr doğrudursa, orijinal massivin açarları qorunur.
array_chunk() funksiyasından istifadə nümunəsi:
$massiv = massiv("1-ci element",
"2-ci element"
"3-cü element"
"4-cü element"
"5-ci element");
çap_r(massiv_yığma($massiv, 2));
çap_r(massiv_yığma($massiv, 2, DOĞRU));
Nümunə aşağıdakıları çıxaracaq:
massiv(
=>Masiv
=> 1-ci element
=> 2-ci element
)
=>Masiv
=> 3-cü element
=> 4-cü element
)
=>Masiv
=> 5-ci element
)
)
massiv(
=>Masiv
=> 1-ci element
=> 2-ci element
)
=>Masiv
=> 3-cü element
=> 4-cü element
)
=>Masiv
=> 5-ci element
)
PHP 4 >= 4.2.0, PHP 5 tərəfindən dəstəklənən funksiya
massiv_doldurun
Funksiya massivi xüsusi dəyərlərlə doldurur.
Sintaksis:
massiv_doldurma(int start_index, int num, qarışıq dəyər)
array_fill() funksiyası start_index parametrində göstərilən elementdən başlayaraq num ölçüsünün dəyər parametrində göstərilən dəyərləri ehtiva edən massivi qaytarır.
array_diff_uassoc() istifadə nümunəsi:
çap_r($a);
?>
Nümunə aşağıdakıları çıxaracaq:
massiv(
=> banan
=> banan
=> banan
=> banan
=> banan
=> banan
)
PHP 4 >= 4.2.0, PHP 5 tərəfindən dəstəklənən funksiya
massiv_filtri
Funksiya xüsusi funksiyadan istifadə edərək massivə filtr tətbiq edir.
Sintaksis:
massiv_filtr(massiv daxiletmə [, geri çağırış])
array_filter() funksiyası istifadəçi tərəfindən müəyyən edilmiş geri çağırış funksiyasının nəticələrinə görə süzülmüş giriş massivində tapılan dəyərləri ehtiva edən massivi qaytarır.
Əgər daxil olan massiv assosiativ massivdirsə, indekslər yaranan massivdə saxlanılır.
array_filter() funksiyasından istifadə nümunəsi:
qaytarma ($var % 2 == 1);
}
cüt funksiya ($var) (
qaytarma ($var % 2 == 0);
}
$array1 = massiv("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$massiv2 = massiv(6, 7, 8, 9, 10, 11, 12);
echo "Tək: n";
print_r(massiv_filtr($massiv1, "tək"));
echo "Hətta:n";
t_r(massiv_filtr($massiv2, "cüt"));
?>
Nümunə aşağıdakıları çıxaracaq:
Tək: Massiv(
[a] => 1
[c] => 3
[e] => 5
Hətta:Array(
=> 6
=> 8
=> 10
=> 12
)
Qeyd etmək lazımdır ki, filtrləmə funksiyasının adının əvəzinə obyektə istinad və metodun adını ehtiva edən massiv təyin edə bilərsiniz.
Onu da qeyd etmək lazımdır ki, massiv array_filter() funksiyası ilə işlənərkən onu dəyişdirmək olmaz: elementləri əlavə etmək, silmək və ya massivi yenidən qurmaq, çünki bu funksiyanın düzgün işləməməsinə səbəb ola bilər.
PHP 4 >= 4.0.6, PHP 5 tərəfindən dəstəklənən funksiya
PHP Skaler və kompozit məlumat növlərini dəstəkləyir. Bu yazıda biz kompozit növlərdən birini müzakirə edəcəyik: massivlər. Massiv, açar-dəyər cütlərinin sifarişli dəsti kimi təşkil edilmiş məlumat dəyərlərinin toplusudur.
Bu məqalədə massiv yaratmaq, massivə elementlər əlavə etmək haqqında danışılır. Massivlərlə işləyən çoxlu daxili funksiyalar var PHPçünki massivlər ümumi və istifadə üçün faydalıdır. Məsələn, birdən çox e-poçt ünvanına e-poçt göndərmək istəyirsinizsə, e-poçt ünvanlarını massivdə saxlaya və sonra massivdən götürülmüş e-poçt ünvanına mesajlar göndərə bilərsiniz.
İndeksli və assosiativ massivlər
PHP-də iki növ massiv var: indeks və assosiativ. İndekslənmiş massivin düymələri 0-dan başlayan tam ədədlərdir. İndekslənmiş massivlər massivdə konkret mövqe tələb etdikdə istifadə olunur. Assosiativ massivlər cədvəlin iki sütunu kimi davranırlar. Birinci sütun dəyərə daxil olmaq üçün istifadə olunan açardır (ikinci sütun).
PHP daxili olaraq bütün massivləri assosiativ massivlər kimi saxlayır, ona görə də assosiativ və indeksli massivlər arasında yeganə fərq düymələrin görünməsidir. Bəzi funksiyalar ilk növbədə indekslənmiş massivlərlə istifadə üçün nəzərdə tutulub, çünki onlar sizin açarlarınızın 0-dan başlayan ardıcıl tam ədədlər olduğunu güman edirlər. Hər iki halda düymələr unikaldır – yəni açarın olub-olmamasından asılı olmayaraq, eyni düyməyə malik iki elementə malik ola bilməzsiniz. sətir və ya tam ədəddir.
IN PHP massivlər öz elementlərinin açar və dəyərlərdən asılı olmayan daxili sırasına malikdir və bu daxili sıraya əsasən massivləri keçmək üçün istifadə edilə bilən funksiyalar var.
Massivdə elementlərin müəyyən edilməsi
Kvadrat mötərizədə massiv adından sonra element açarından (bəzən index adlanır) istifadə edərək massivdən xüsusi dəyərlərə daxil ola bilərsiniz:
$age["Fred"]; $şoular;
Açar sətir və ya tam ədəd ola bilər. Nömrə kimi sətir dəyərləri (aşağıdakı sıfırlar olmadan) tam ədədlər kimi qəbul edilir. Beləliklə, $massiv Və $massiv['3'] eyni elementə istinad edin, lakin $massiv['03'] başqa elementə istinad edir. Mənfi ədədlər də açar kimi istifadə oluna bilər, lakin onlar serialın sonundan mövqeləri göstərmir. Perl.
Açarı dırnaq içərisində yazmaq lazım deyil. Misal üçün, $massiv['Fred'] kimi $arrat. Bununla belə, yaxşı üslub hesab olunur PHP həmişə sitatlardan istifadə edin. Əgər indeks dırnaqsızdırsa, onda PHP indeks kimi sabitin dəyərindən istifadə edir:
Define("indeks",5); echo $array; // $massiv deyil, $massiv["index"] qaytaracaq;
İndeksdə bir nömrə əvəz etmək istəyirsinizsə, bunu etməlisiniz:
$age["Clone$number"]; // qayıdacaq, məsələn, $age["Clone5"];
Bununla belə, aşağıdakı hallarda açarı sitat gətirməyin:
// səhv çap "Salam, $person["name"]"; "Salam, $person["name"]" çap edin; // düzgün çap "Salam, $person";
Məlumatların massivlərdə saxlanması
Massivdə dəyəri saxlamağa çalışdığınız zaman, əgər əvvəllər mövcud deyildisə, massiv avtomatik olaraq yaradılacaq, lakin müəyyən edilməmiş massivdən dəyəri almağa çalışdığınız zaman massiv yaradılmayacaq. Misal üçün:
// $ünvanlar indiyədək müəyyən edilməyib echo $ünvanlar; // heç nə $ünvanları əks etdirmir; // heç bir şey $ünvanlar = "spam@cyberpromo.net"; echo $ünvanlar; // "Array" çap edin
Proqramda massivi işə salmaq üçün sadə tapşırıqdan istifadə edə bilərsiniz:
$ünvanlar = "spam@cyberpromo.net"; $ünvanlar = "abuse@example.com"; $ünvanlar = "root@example.com"; //...
0-dan başlayan tam indeksləri olan bir indeks massivi elan etdik.
Assosiativ massiv:
$qiymət["Conta"] = 15,29; $qiymət["Təkər"] = 75,25; $qiymət["Şin"] = 50,00; //...
Massivi işə salmağın daha asan yolu konstruksiyadan istifadə etməkdir massiv(), arqumentlərindən massiv qurur:
$ünvanlar = massiv("spam@cyberpromo.net", "abuse@example.com", "root@example.com");
istifadə edərək assosiativ massiv yaratmaq Massiv(), istifadə edin => indeksləri dəyərlərdən ayıran simvol:
$qiymət = massiv("Conta" => 15,29, "Təkər" => 75,25, "Şin" => 50,00);
Boşluqların istifadəsinə və hizalanmasına diqqət yetirin. Kodu qruplaşdıra bilərik, lakin daha az aydın olardı:
$qiymət = massiv("Conta"=>15,29,"Təkər"=>75,25,"Şin"=>50,00);
Boş massiv yaratmaq üçün konstruksiyaya zəng etmək lazımdır massiv() arqumentsiz:
$ünvanlar = Massiv();
Siz massivdə başlanğıc açarı, sonra isə dəyərlər siyahısını təyin edə bilərsiniz. Dəyərlər massivə daxil edilir, açardan başlayaraq sonra artır:
$days = massiv(1 => "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə", "Bazar"); // 2 çərşənbə axşamı, 3 çərşənbə və s.
Əgər başlanğıc indeks sətirdirsə, onda sonrakı indekslər 0-dan başlayaraq tam ədədlərə çevrilir. Beləliklə, aşağıdakı kod yəqin ki, xətadır:
$whoops = massiv("Cümə" => "Qara", "Qəhvəyi", "Yaşıl"); // eyni ilə $whoops = array("Friday" => "Qara", 0 => "Qəhvəyi", 1 => "Yaşıl");
Massivin sonuna yeni elementin əlavə edilməsi
Mövcud indekslənmiş massivin sonuna birdən çox dəyər daxil etmək üçün sintaksisdən istifadə edin:
$family = massiv("Fred", "Wilma"); // $family = "Fred" $family = "Çınqıllar"; // $family = "Çınqıllar"
Bu konstruksiya massiv indekslərinin ədədlər olduğunu fərz edir və elementə 0-dan başlayaraq növbəti mövcud rəqəmli indeksi təyin edir. Assosiativ massivə element əlavə etməyə cəhd demək olar ki, həmişə proqramçı xətası olur, lakin PHP xəbərdarlıq etmədən ədədi indeksli (0-dan başlayaraq) yeni elementlər əlavə edəcək:
$şəxs = massiv("ad" => "Fred"); // $person["name"] = "Fred"; $şəxs = "Wilma"; // $ şəxs = "Wilma"
Bu mərhələdə biz PHP-də massivlərlə işləməyin giriş hissəsini başa vuracağıq. Növbəti məqalədə sizi görməyi səbirsizliklə gözləyirəm.
PHP-də massivləri çevirmək üçün çoxlu funksiyalar və operatorlar mövcuddur: Massivlərlə işləmək üçün funksiyalar toplusu.
PHP-dən istifadə edərək massivə massiv əlavə etməyin bir neçə yolu var və onların hamısı müəyyən hallarda faydalı ola bilər.
"Operator +"
Bu sadə, lakin məkrli bir yoldur:
$c = $a + $b
Bu yolla, yalnız $a massivində olmayan açarlar əlavə edilir. Bu halda elementlər massivin sonuna əlavə olunur.
Yəni, əgər $b massivinin açarı $a massivində yoxdursa, o zaman yaranan massivə bu açarı olan element əlavə olunacaq.
Əgər $a massivində artıq belə açarı olan element varsa, onun dəyəri dəyişməz qalacaq.
Başqa sözlə, terminlərin yerlərinin dəyişdirilməsi cəmini dəyişir: $a + $b != $b + $a - bunu xatırlamağa dəyər.
İndi bunu göstərmək üçün daha ətraflı bir nümunə:
$arr1 = ["a" => 1, "b" => 2]; $arr2 = ["b" => 3, "c" => 4]; var_export($arr1 + $arr2); //massiv (// "a" => 1, // "b" => 2, // "c" => 4, //) var_export($arr2 + $arr1); //massiv (// "b" => 3, // "c" => 4, // "a" => 1, //)
array_merge() funksiyası
Bu funksiyadan aşağıdakı kimi istifadə edə bilərsiniz:
$nəticə = massiv_birləşdirmə ($arr1, $arr2)
Rəqəmsal indeksləri sıfırlayır və sətirləri əvəz edir. İki və ya daha çox massivi rəqəmli indekslərlə birləşdirmək üçün əladır:
Əgər giriş massivlərində eyni sətir düymələri varsa, onda hər bir sonrakı dəyər əvvəlkini əvəz edəcək. Bununla belə, massivlərdə eyni ədədi düymələr varsa, sonuncu qeyd olunan dəyər orijinal dəyəri əvəz etməyəcək, lakin massivin sonuna əlavə olunacaq.
array_merge_recursive funksiyası
array_merge ilə eyni şeyi edir, istisna olmaqla, o, rekursiv olaraq massivin hər qolundan keçir və uşaqlarla eyni şeyi edir.
array_replace() funksiyası
Massiv elementlərini digər ötürülən massivlərin elementləri ilə əvəz edir.
array_replace_recursive() funksiyası
array_replace ilə eynidir, lakin massivin bütün filiallarını emal edir.