İçerikler
Boş bir dizi
$emptyArray = array();
Code language: HTML, XML (xml)
Tek boyutlu dizi
$animals = array(“Lion”, “Tiger”, “Wolf”);
$arrLength = count($animals);
// dizi boyunca döngü
for($i = 0; $i < $arrLength; $i++) {
echo $animals[$i];
echo "</ br>";
}
Code language: HTML, XML (xml)
ilişkisel dizi
$animals = array("Lion"=>"Wild", "Sheep"=>"Domestic", "Tiger"=>"Wild");
// ilişkisel dizide dolaş ve anahtar değer çiftlerini al
foreach($animals as $key => $value) {
echo "Key=" . $key . ", Value=" . $value;
echo "</br>";
}
Code language: HTML, XML (xml)
iki boyutlu dizi
// iki boyutlu dizi tanımı
$animals = array
(
array("Lion","Wild",8),
array("Sheep","Domestic",12),
array("Tiger","Wild",20)
);
// iki boyutlu dizi yinelemesi
for ($row = 0; $row < 3; $row++) {
echo "<p>Row number $row</p>";
echo "<ul>";
for ($col = 0; $col < 3; $col++) {
echo "<li>".$animals[$row][$col]."</li>";
}
echo "</ul>";
}
Code language: HTML, XML (xml)
Döngü aracılığıyla
$animals = array();
for ($i = 0; $i < $count; $i++) {
$animals[$i] = array
( $animalName[$i]
, $animalType[$i]
);
}
Code language: HTML, XML (xml)
Üç boyutlu dizi
$threeDArray = array(
array(
array("Lion", "Tiger"),
array("Sheep", "Dog"),
),
array(
array("Apple", "Orange"),
array("Tomato", "Potato"),
),
);
Code language: HTML, XML (xml)
PHP Dizisinin boyutu nasıl bulunur?
Bir dizinin boyutunu bulmak için sayım işlevini kullanabilirsiniz. sizeof, işlev sayımının takma adıdır.
Sayım işleviyle ilgili büyük anlaşmanın ne olduğunu düşünebilirsiniz. Yeni başlayan biriyseniz, kesinlikle yeni bir şeyler öğreneceksiniz, bu yüzden okumaya devam edin ve bunu atlamayın. Ayrıca örnek komut dosyasını kontrol etmeyi unutmayın.
count
PHP sayım işlevinin söz dizimi şöyledir:
count(var array_variable, mode)
Code language: JavaScript (javascript)
Dizi_değişkeninin değeri ayarlanmamışsa veya boş bir diziye sahipse, sayı 0 döndürür. Dizi değilse, sayı 1 döndürür. PHP sürüm 7’den itibaren bir uyarı alırsınız.
Bu nedenle, bir PHP dizisinin boş olup olmadığını kontrol etmeniz gerektiğinde, sayım işlevini kullanmanız gerekir. Diziyi sayım işlevine ilettiğinizden emin olun.
if (count($array) > 0) {
echo "array has elements";
}
else {
echo "array is empty";
}
Code language: HTML, XML (xml)
Bağımsız değişken modu isteğe bağlıdır ve dizi uzunluğunun hesaplanmasında kullanılacak çalışma modunu belirtir. Olası seçenekler,
- COUNT_NORMAL – 0 derinliğinde bir dizinin uzunluğunu döndürür. Bu, varsayılan değerdir.
- COUNT_RECURSIVE – n derinliğine ulaşana kadar özyinelemeli sayma işlemi için. Bu özyinelemeli çağrı, n derinliğine ulaşana veya program yürütme zaman sınırı geçene kadar sonsuza kadar devam edecektir.
Örnek : PHP count() mod seçeneği ile
Aşağıdaki komut dosyası, bir derinlik düzeyinde kullanılabilen bir dizi öğeyi hesaplamak için bir sayım işlevi örneğidir. Mod derinliğini belirleyebilmek için iki boyutlu bir dizi kullanalım.
$toys = array(array("name"=>"Mechanical Cars","category"=>"pull back"),
array("name"=>"Jigsaw","category"=>"puzzles"),
array("name"=>"HiTech Cars","category"=>"remote"),
array("name"=>"Teddy Bears","category"=>"soft"),
array("name"=>"Baby pillow","category"=>"soft"),
array("name"=>"Chinese Checker","category"=>"puzzles"),
array("name"=>"Jumbo Helicopter","category"=>"remote"));
Code language: PHP (php)
Şimdi, farklı olası mod seçeneklerini ileterek sayım işlevini çağırabiliriz.
$array_length["normal_count"] = count($toys,COUNT_NORMAL);
//(OR)
$array_length["default_count"] = count($toys);
$array_length["recursive_count"] = count($toys,COUNT_RECURSIVE);
print "<pre>";
print_r($array_length);
print "</pre>";
Code language: PHP (php)
Yukarıdaki PHP kodunda, count() normal, varsayılan ve özyinelemeli modda çağrılır. Döndürülen değerler, uygun ad dizinleri belirtilerek $dizi_uzunluk adlı bir dizide depolanır.
Bu programın çıktısı aşağıdadır.
Array
(
[normal_count] => 7
[default_count] => 7
[recursive_count] => 21
)
Code language: PHP (php)
sizeof
Bu sizeof işlevi, PHP sayım işlevinin bir takma adıdır. count() ile aynı argüman grubunu kabul eder.
Bu sizeof işlevi, PHP sayım işlevinin bir takma adıdır. count() ile aynı argüman grubunu kabul eder.
Bu sizeof işlevi, PHP sayım işlevinin bir takma adıdır. count() ile aynı argüman grubunu kabul eder.
PHP’de bir diziyi bir dizgeye nasıl dönüştürebilirim?
Bir diziyi dizeye dönüştürmek için yerleşik implode işlevini kullanabilirsiniz.
PHP Implode
implode işlevi, parametre olarak bir diziyi ve ayırıcıyı kabul eder. Dizi öğelerinin her birini birleştirir ve bunları iletilen ayırıcı argümanla ayırır. Örneğin,
$str_concat = "|";
$meaning_array = array("implode","join","concatenate");
$imploded_string = implode($str_concat,$meaning_array);
echo $imploded_string; // implode|join|concatenate
Code language: PHP (php)
Ayırıcı olarak virgül (,) kullanırsanız diziyi CSV olarak gizleyebileceksiniz. Bu, birçok durumda yararlı bir yardımcı program olacaktır.
PHP’de bir değişkeni diziye nasıl dönüştürebilirim?
Bir dizeyi diziye dönüştürmek için yerleşik patlatma işlevini kullanabilirsiniz. split işlevi kullanımdan kaldırılmıştır ve bu nedenle onu bir dizeye dayalı dizi oluşturmak için kullanmayın.
PHP Explode
Explode , dizeyi belirli bir ayırıcıya dayalı olarak bir dizi öğeye bölmektir. patlatma, ayırıcıyı ve bir dizeyi bağımsız değişkeni olarak kabul eder.
$input_string = "implode|join|concatenate";
$str_explode = "|";
$exploded_array = explode($str_explode,$input_string );
echo "<pre>";
print_r($exploded_array);
echo "</pre>";
Code language: PHP (php)
Bu örnek kod, yukarıda az önce gördüğümüz implode örneğinin elde edilen dize verilerini kabul eder. Patlatma, dize verilerini “|” bağımsız değişken ayırıcısına göre böler. Çıktı,
Array
( [0] => implode
[1] => join
[2] => concatenate
)
Code language: PHP (php)
Explode Limit dahilinde
PHP explode(), explode işlemi gerçekleştirmek için hedef uzunluğu veya sınırı ayarlamak için üçüncü bir isteğe bağlı bağımsız değişken sınırını kabul eder. explode , sınır belirtilmezse tüm dizeyi varsayılan olarak alır.
$exploded_array = explode($str_explode,$input_string,2);
bu dönecek,
Array
( [0] => implode
[1] => join|concatenate
)
Code language: PHP (php)
Dizilerin kesişimini, farkını ve birliğini bulma
PHP, dizileri işlemek için çok çeşitli yerleşik işlevlere sahiptir. Diziler kullanılırken kesişim, fark ve birleşim oldukça düzenli bir şekilde gerçekleştirilir. PHP, bu işlemleri halletmek için yerleşik olarak iyi işlevlere sahiptir.
dizi kesişimi
PHP array_intersect işlevi, diziler arasındaki kesişimi bulmak için kullanılır. Bu işlev, karşılaştırmak için birden çok bağımsız değişkeni kabul edebilir. Karşılaştırmadan sonra, bu işlev, tüm bağımsız değişken dizilerinde bulunan kesişen öğeler dizisini döndürür.
array_intersect($input_array1,$input_array2,$input_array3...)
Dizi kesişimi örneği
Bu örnekte, dört diziyi parametre olarak ileteceğiz.
$soft_toys = array("Baby Pillow", "Teddy Bear", "Chicklings");
$baby_toys = array("Toy phone", "Baby Pillow", "Lighting Ball", "Teddy Bear");
$gift_items = array("Coloring Fun", "Baby Pillow", "Barbies", "Teddy Bear");
$kids_bedroom_set = array("Teddy Bear", "Baby Pillow", "Night Lamp","Kids Bed");
$arrayIntersect = array_intersect($soft_toys, $baby_toys, $gift_items, $kids_bedroom_set);
print "<PRE>";
print_r($arrayIntersect);
print "</PRE>";
Code language: HTML, XML (xml)
Bu program, dört giriş dizisinin tümünde bulunan değerleri içeren sonuç dizisini yazdırır. Çıktı,
Array(
[0] => Baby Pillow
[1] => Teddy Bear
)
Code language: PHP (php)
PHP’deki diğer Dizi kesişim işlevleri
PHP, girdi dizileri arasındaki öğelerin kesişimini hesaplamak için daha çeşitli işlevler içerir.
array_intersect_key
– anahtarlara göre kesişen öğeleri döndürür.array_interset_assoc
– anahtarlara ve değerlere göre kesişen öğeleri döndürür.array_intersect_ukey
– kesişim için bir algoritma sağlayarak özel işlev temelinde kesişen öğeleri döndürür.
dizi farkı
PHP dizi farkı fonksiyonlarını kullanarak, diziler arasındaki anahtarlara veya değerlere göre farklılıkları bulabiliriz.
- array_diff
- array_diff_key
- array_diff_assoc
Özel yapım işlevleri kullanarak dizin kontrolüne dayalı olarak dizi farklılıkları da bulunabilir. Geri arama olarak kullanılırlar.
- array_diff_ukey
- array_diff_uassoc
Liste devam ediyor. Girişlerini kullanıcı tanımlı geri arama işlevlerinin kullanımıyla karşılaştırarak.
- array_udiff
- array_udiff_assoc
- array_udiff_uassoc
array_diff
En az iki diziyi kabul eder, ancak argümanları olarak herhangi bir sayıda dizide maksimum, bu nedenle, ilk dizideki öğeler, dizi öğelerinin geri kalanıyla karşılaştırılır.
array_diff_key
Bu işlev, dizi_diff işlevine benzer şekilde kullanılır, ancak dizi öğelerini anahtarlarına göre karşılaştırmak için kullanılır.
array_diff_assoc
Bu fonksiyon, verilen diziler arasındaki değerleri, bu değerlerle ilişkili anahtar indeksi dikkate alarak karşılaştırmak için kullanılır.
Dizi farkı örneği
$array_from = array("fruit1" => "apple", "fruit2" => "grapes","friut3" =>"banana");
$array_against = array("fruit1" => "orange", "fruit2" => "grapes","friut4" => "banana");
$value_differences = array_diff($array_from, $array_against);
$key_differences = array_diff_key($array_from, $array_against);
$assoc_index_differences = array_diff_assoc($array_from, $array_against);
print "<PRE>";
print_r($value_differences);
print_r($key_differences);
print_r($assoc_index_differences);
print "</PRE>";
Code language: HTML, XML (xml)
Dizi farkı örneğinin çıktısı aşağıdaki gibidir:
Array
(
[fruit1] => apple
)
Array
(
[friut3] => banana
)
Array
(
[fruit1] => apple
[friut3] => banana
)
Code language: PHP (php)
Geri arama ile PHP Dizi farkı – kapanışlar
Diziler arasındaki farkı bulmak için kendi özel mantığınızı tanımlamanız mümkündür. Geri arama için kullanıcı tanımlı işlevler geçirilebilir.
İşlevleri bağımsız değişken olarak iletmek, PHP’de harika bir özelliktir. Anonim işlevler olarak adlandırılırlar ve kapatmalar kullanılarak uygulanırlar.
- array_diff_ukey , array_diff_uassoc anahtar ve dizin tabanlı farklılıklar için.
- array_udiff , array_udiff_assoc değere dayalı dizi farkı için.
- array_udiff_uassoc hem dizi değeri hem de anahtar dizin karşılaştırması yapmak için kullanılır.
Dizi anahtarlarından değişkenler oluşturma
PHP’nin dizi anahtarlarını kullanarak değişkenler oluşturmak için extract adlı bir işlevi vardır. Her dizi anahtarının adıyla PHP değişkenleri oluşturur. Giriş argümanı olarak ilişkisel bir dizi kullanır.
extract
Bu işlev, aşağıda listelendiği gibi üç bağımsız değişkeni kabul eder.
- $input_array – Anahtarların PHP değişkenlerine dönüştürüldüğü ilişkisel dizi.
- $extract_type – Yeni bir değişken oluşturma veya mevcut değişkenlerin üzerine yazma seçeneklerini tanımlar..
- EXTR_OVERWRITE, EXTR_SKIP, EXTR_IF_EXISTS, EXTR_REFS seçeneklerdir
- $variable_prefix – Oluşturulacak değişken adıyla ön eklenecek dize.
PHP extract Örnek
$partA = "";
$partB = "";
$input_array = array("partA" => "Stories","partB" => "Rhymes", "partC" => "Concepts");
extract($input_array,<em>EXTR_OVERWRITE</em>);
print '$partA='. $partA . '<br/>';
print '$partB='. $partB . '<br/>';
print '$partC='. $partC . '<br/>';
Code language: HTML, XML (xml)
extract Kullanırken Dikkat
Kullanıcı giriş verilerinde özü kullanmamalısınız. Bunu yaparsanız, güvenlik endişelerine neden olabilir. Ne yaptığınızı bilmiyorsanız, bu işlevi kullanmayın!
Sık kullanılan yerleşik Dizi işlevleri
PHP kod parçacığı örnekleriyle birlikte yaygın olarak kullanılan PHP dizi işlevlerinden bazılarını görelim.
range
PHP range() işlevi, başlangıç ve bitiş parametreleri arasındaki aralıktaki öğe dizisini almak için kullanılır. Aralık sayısal veya alfabe olabilir. Aşağıdaki kod, “e” ve “i” arasında bulunan alfabe dizisinin nasıl alınacağını gösterir.
$character_array = range('e','i'); // returns array('e','f','g','h','i');
reset
reset() işlevi, dizi işaretçisinin konumunu sıfırlamak için kullanılır. Dizi işaretçisini orijinal konumuna taşımak için argüman olarak dizi değişkenini gerektirir.
$character_array = range('e','i'); // returns array('e','f','g','h','i');
print next($character_array); // prints f
print next($character_array); // prints g
reset($character_array);
print current($character_array); // prints the first element 'e' after reset
Code language: PHP (php)
array_slice
Verilen girdi dizisinden alt diziyi almak için kullanılır. Giriş dizisini, başlangıç konumunu ofset olarak ve alt dizinin uzunluğunu kabul eder.
Uzunluk parametresi isteğe bağlıdır. Belirtilmezse, giriş dizisinin uzunluğu varsayılan olarak alınacaktır. Dördüncü argüman, varsayılan dizin yeniden sıralama davranışından kaçınarak anahtarları korumaktır.
$color_array = array("Red","Blue","Green","Yellow","Brown");
sliced_array = array_slice($color_array,1,3);// now the sliced array will be array("Blue","Green","Yellow")
Code language: PHP (php)
array_splice
Bu işlev dizi_dilim işlevine benzer ve kaldırılan öğeleri yeni öğeler kümesiyle de değiştirebilir. Kaldırılan kümenin uzunluğu ile yeni dizinin uzunluğu aynı olmalıdır.
$character_array = array('e','f','g','h','i');
$number_array = array('1','2','3');
$changed_array = array_splice($character_array,1,3,$number_array); // will hold the element like: array('e','1','2','3','i');
Code language: PHP (php)
shuffle
Bu işlev, değerinin konumunu rastgele bir şekilde değiştirmek için bir argüman olarak diziye sahiptir.
array_chunk
array_chunk()
bir diziyi belirtilen uzunlukta parçalara bölmek için kullanılır.
$character_array = array('e','f','g','h','i');
$chunks = array_chunk($character_array,2);
//$chunks will be as follows
/*
Array (
[0] => Array (
[0] => e
[1] => f
)
[1] => Array (
[0] => g
[1] => h
)
[2] => Array (
[0] => i
)
)
*/
Code language: PHP (php)
merge
merge işlevi, bir veya daha fazla diziyi tek bir dizide birleştirmek içindir.
$color_array1 = array("Red","Blue","Green");
$color_array2 = array("Yellow","Brown");
// returns array("Red","Blue","Green","Yellow","Brown");
$color_array = array_merge($color_array1,$color_array2);
Code language: PHP (php)
array_key_exists
Bu fonksiyon, verilen anahtarın dizide olup olmadığını kontrol etmek için kullanılır. Bu işlev, bir anahtar öğeyi ve girdi dizisini bağımsız değişken olarak alır.
array_keys, array_values
Bu iki işlev, sırasıyla bir giriş dizisinin anahtarlarını ve değerlerini döndürür. Aşağıdaki kod, bu işlevlerin kullanım yöntemini ve sonuçta ortaya çıkan anahtar ve değer dizisini gösterir.
$student_array = array("name"=>"Martin","mark"=>"90","grade"=>"A");
$key_array = array_keys($student_array) // returns array("name","mark","grade")
$value_array = array_values($student_array) // returns array("Martin","90","A")
Code language: PHP (php)
array_push, array_pop, array_shift, array_unshift
array_push()
değerleri bir diziye göndermek için kullanılır. Bu işlevi kullanarak, belirli bir giriş dizisinin sonuna yeni bir öğe eklenecektir.
The array_pop()
dizinin son elemanını almak için kullanılır.
The array_shift()
ve array_unshift()
yöntemler, array_push() ve array_pop() ile benzerdir. Ancak, ekleme ve geri alma işlemleri dizinin başlangıç konumunda gerçekleştirilir.
extract, compact
Compact() değişkeni bir diziye dönüştürmek için kullanılırken, extract() bir diziyi çıkarmak ve o dizinin öğesini değişkenler olarak dönüştürmek için kullanılır.
Örnek aşağıdaki gibi göstermektedir. Extract() öğesinin ikinci ve üçüncü argümanı isteğe bağlıdır. Değişken adına bir önek eklemek için kullanılır.
$student_array = array("name"=>"Martin","mark"=>"90","grade"=>"A");
extract($student_array,EXTR_PREFIX_ALL,"student");
echo $student_name . "-" . $student_mark . "(" . $student_grade . ")"; // prints as Martin - 90(A)
$compact_array = compact("student_name","student_mark","student_grade"); // will form an array