Php’de diziler için kullanılan, dizi fonksiyonlarının kullanım yapıları hakkında bilgi notları.
print_r() | Bir değişkenin (array vs.) depoladığı değerleri çıktı verir. |
count() | Bir dizi içerisindeki eleman sayısını bize geri döndürür. |
sizeof() | count() ile aynı işlevi görmektedir. |
array_unshift() | Dizinin en başına değer eklemek için kullanılır. |
array_push() | Dizinin sonuna değer eklemek için kullanılır. |
array_shift() | Dizinin ilk elemanını çeker. |
array_pop() | Dizinin son elemanını çeker. |
current() | Dizinin göstericisi konumundaki elemanı döndürür. |
pos() | current() ile aynı işlevi görüyor. |
key() | Dizinin göstericisi konumundaki elemanın, anahtarını döndürür. |
end() | Dizinin göstericisini son elemana kadar ilerletir ve bu elemanın değerini döndürür. |
next() | Dizinin göstericisi komundaki anahtarı ve elemanı bir ileri alır. |
prev() | Dizinin göstericisi komundaki anahtarı ve elemanı bir geri alır. |
reset() | Dizinin göstericisi komundaki anahtarı ve elemanı varsayılan konumuna getirir. |
explode() | Bir belirtilen veriyi ayraca göre parçalayarak yeni bir dizi oluşturur. |
implode() | Herhangi bir diziyi düz metine (string) çevirir. |
list() | Dizi içersinde bulunanları değişkenlere atar. |
array_merge() | Birden fazla diziyi birleştirmek için kullanılır. |
array_combine() | İki diziyi ilişkisel olarak anahtar-değer ataması yapmak için kullanılır. |
count(): Bir dizi içerisindeki eleman sayısını bize geri döndürür.
Eğer çok boyutlu bir dizi ise COUNT_RECURSIVE
komutu eklenmelidir.
$arr = array('Mavi','Kırmızı'); echo count($arr); // Sonuç: 2 $arr = array('Mavi','Kırmızı',array('Sarı','Açık Sarı'),'Siyah'); echo count($arr,COUNT_RECURSIVE); // Sonuç: 5
array_unshift(): Dizinin en başına belirtilen değeri ekler ve eğer bir değişken içinde olursa dizinin toplam eleman sayısı geri döndür. Bu fonksiyonla anahtar verilemez. Eğer anahtar değeri verilmek isteniyorsa array_merge() kullanabilir.
$arr = array('Mehmet','Hakan','Ali','Aslı'); $add = array_unshift($arr,'Mustafa','Mert'); print_r($add); // Sonuç: 6 print_r($arr); /* Array ( [0] => Mustafa [1] => Mert [2] => Mehmet [3] => Hakan [4] => Ali [5] => Aslı ) */ //Anahtar verme örneği $arr2 = array('Kare','Üçgen'); $add2['bicim'] = 'Dikdörtgen'; $arr2 = array_merge($add2,$arr2); print_r($arr2); /* Array ( [bicim] => Dikdörtgen [0] => Kare [1] => Üçgen ) */
array_push(): Dizinin sonuna belirtilen değeri ekler ve eğer bir değişken içinde olursa dizinin toplam eleman sayısı geri döndür. Bu fonksiyonu kullanmadan değer ekleyebiliriz. Bu fonksiyonla anahtar verilemez. Eğer anahtar değeri verilmek isteniyorsa aşağıdaki yönetem kullanabilir.
$arr = array('Mehmet','Hakan'); $add = array_push($arr,'Mustafa','Ali'); print_r($add); // Sonuç: 4 print_r($arr); /* Array ( [0] => Mehmet [1] => Hakan [2] => Mustafa [3] => Ali ) */ // array_push kullanmadan değer ekleme. $arr2 = array('Mehmet','Hakan'); $arr2[] = 'Murat'; print_r($arr2); /* Array ( [0] => Mehmet [1] => Hakan [2] => Murat ) */ // anahtar ekleme örneği $arr3 = array('Mehmet','Hakan'); $arr3['isim'] = 'Murat'; print_r($arr3) /* Array ( [0] => Mehmet [1] => Hakan [isim] => Murat ) */
array_shift(): Dizinin ilk elamanını çeker. İlk elemanı çektiği için dizi yeniden düzenlenir, eğer nümerik anahtarlar varsa otomatik olarak yeninden sıralanır.
$arr = array('Mehmet','5' => 'Dilekci', 'konu' => 'php'); $first = array_shift($arr); print_r($first); // Sonuç: Mehmet print_r($arr); // Array ( [0] => Dilekci [konu] => php ) //Eğer çok boyutlu dizi varsa. $arr = array('erkek' => array('Mehmet','Tuncay'), 'kadın' => array('Fatma','Hande')); $first = array_shift($arr['kadın']); print_r($first); // Sonuç: Fatma print_r($arr); /* Array ( [erkek] => Array ( [0] => Mehmet [1] => Tuncay ) [kadın] => Array ( [0] => Hande ) ) */
array_pop(): Dizinin son elamanını çeker. Son elemanı çektiği için dizi yeniden düzenlenmez. Anahtar sıralamasına dokunulmaz.
$arr = array('Mehmet','5' => 'Dilekci', 'konu' => 'php'); $last = array_pop($arr); print_r($last); // Sonuç: php print_r($arr); // Array ( [0] => Mehmet [5] => Dilekci ) // Çoklu dizi olursa $arr = array('erkek' => array('Mehmet','Tuncay'), 'kadın' => array('Fatma','Hande')); $last = array_pop($arr['erkek']); print_r($last); // Sonuç: Tuncay print_r($arr); /* Array ( [erkek] => Array ( [0] => Mehmet ) [kadın] => Array ( [0] => Fatma [1] => Hande ) ) */
current(): Dizinin göstericisi konumundaki elemanı döndürür.
$arr = array('Mehmet','Ali','Murat'); echo current($arr); // Sonuç: Mehmet
key(): Dizi göstericisinin konumundaki elemanın, anahtarını döndürür.
$arr = array('Mehmet','Ali','Murat'); echo key($arr); // Sonuç: O //Örnek $arr = array( 'fruit1' => 'apple', 'fruit2' => 'orange', 'fruit3' => 'grape', 'fruit4' => 'apple', 'fruit5' => 'apple'); // Değeri "elma" olan tüm anahtarları gösterir while ($fruit_name = current($arr)) { //ilk eleman false oluncaya kadar devam et. if ($fruit_name == 'apple') { //eğer meyve adı elmaya eşitse echo key($arr).'<br />'; //key() gösterici konumdaki anahtarı yazdı. } next($arr); //next() gösterici konumunu bir ileri aldı. } /* Sonuç fruit1 fruit4 fruit5 */
end(): Dizinin göstericisini son elemana kadar ilerletir ve bu elemanın değerini döndürür.
$arr = array('Mehmet','Ali','Murat'); echo end($arr); // Sonuç: Murat
next(): Dizinin göstericisi komundaki anahtarı ve elemanı bir ileri alır.
$arr = array('Mehmet','Ali','Murat','Hakan'); next($arr); next($arr); echo current($arr); // Sonuç: Murat
prev(): Dizinin göstericisi komundaki anahtarı ve elemanı bir geri alır.
$arr = array('Mehmet','Ali','Murat','Hakan'); next($arr); next($arr); prev($arr); echo current($arr); // Sonuç: Ali
reset(): Dizinin göstericisi komundaki anahtarı ve elemanı varsayılan konumuna getirir.
$arr = array('Mehmet','Ali','Murat','Hakan'); next($arr); next($arr); prev($arr); echo reset($arr); // Sonuç: Mehmet
explode(): Bir belirtilen veriyi ayraca göre parçalayarak yeni bir dizi oluşturur.
$string = 'Mehmet,Dilekci,Php,Explode,Konusu'; $ex = explode(',',$string); //ayraç virgül print_r($ex); /* Array ( [0] => Mehmet [1] => Dilekci [2] => Php [3] => Explode [4] => Konusu ) */ //limit vermek istersek $string = 'Mehmet,Dilekci,Php,Explode,Konusu'; $ex = explode(',',$string,2); //ilk iki virgülü dikkate aldı print_r($ex); /* Array ( [0] => Mehmet [1] => Dilekci,Php,Explode,Konusu ) */ $string = 'Mehmet,Dilekci,Php,Explode,Konusu'; $ex = explode(',',$string,-3); // negatif değer vererek diziden eleman silebiliriz. print_r($ex); /* Array ( [0] => Mehmet [1] => Dilekci ) */
implode(): Herhangi bir diziyi düz metine (string) çevirmek için kullanılır.
$array = array('Mehmet','Dilekci','Php','Konusu'); echo implode(' | ',$array) //Çıktı Mehmet | Dilekci | Php | Konusu //ilk parametre veriyi nasıl birleştireceğimizi belirtmek için kullanılır
list(): Dizi içerisinden bulunan elaman veya elemanları değişkenlere atamak için kullanılır.
$array = array('Mehmet','Dilekci','Php','List'); list($value1,$value2,$value3,$value4) = $array; echo $value1.$value2.$value3.$value4; //Sonuç: MehmetDilekciPhpList //eğer kullanmayacağımız değeri geçmek istersek $array2 = array('Mehmet','Dilekci','Php','List'); list($valueA,,,$valueB) = $array2; //virgül koyup boş bıraktık echo $valueA.$valueB; //Sonuç: MehmetList //çok boyutlu dizi olursa $array3 = array('Mehmet',array('A','B','C','D','E')); list($valueC,list(,,,,$valueE)) = $array3; //ikinci bir list() açarız echo $valueC.$valueE; //Sonuç: MehmetE
array_merge(): Birden fazla diziyi birleştirmek için kullanır. Dizilere anahtar değerleri atanmışsa ve bunlar numerik bir değere sahip ise yeni oluşturulan dizi otomatik olarak yeniden sıralanır. Eğer alfanumerik bir değer atanmışsa en son eklenen değer aktarılır.
$arr1 = array('mehmet', 'dilekci'); $arr2 = array('merge', 'konusu'); $arrMerge = array_merge($arr1, $arr2); print_r($arrMerge); /*Sonuç Array ( [0] => mehmet [1] => dilekci [2] => merge [3] => konusu ) */ //Eğer numerik değer atanırsa yeniden sıralanır $arr1 = array( 332235 => 'mehmet', 29472402 => 'dilekci'); $arr2 = array( 332235 => 'merge', 29472402 => 'konusu'); $arrMerge = array_merge($arr1, $arr2); print_r($arrMerge); /*Sonuç Array ( [0] => mehmet [1] => dilekci [2] => merge [3] => konusu ) */ //Eğer alfanumerik bir değer atanırsa son değer kalır $arr1 = array( 'isim' => 'mehmet', 'soyad' => 'dilekci'); $arr2 = array( 'isim' => 'ali', 'soyad' => 'öztürk'); $arrMerge = array_merge($arr1, $arr2); print_r($arrMerge); /*Sonuç Array ( [isim] => ali [soyad] => öztürk ) */
array_merge_recursive(): Array_merge fonksiyonu gibidir fakat burada aynı değere sahip anahtarlar tutulur.
$arr1 = array( 'isim' => 'mehmet', 'soyad' => 'dilekci'); $arr2 = array( 'isim' => 'ali', 'soyad' => 'öztürk'); $arrMerge = array_merge_recursive($arr1, $arr2); print_r($arrMerge); /*Sonuç Array ( [isim] => Array ( [0] => mehmet [1] => ali ) [soyad] => Array ( [0] => dilekci [1] => öztürk ) ) */
array_combine(): İki diziyi ilişkisel olarak anahtar-değer ataması yapmak için kullanılır.
$arrKey = array('Sayi','Renk','Isim'); $arrValue = array('3','Mavi','Mehmet'); $arrCombine = array_combine($arrKey,$arrValue); print_r($arrCombine); /*Sonuç Array ( [Sayi] => 3 [Renk] => Mavi [Isim] => Mehmet ) */
Devamı gelecek…..