What Will I Learn?
- Grouping and Sorting: If the same named array elements are found in different places on the array, we aim to put these elements together and sort
- array_map: Match more than one array element. Each array element matches the same array element in order. The result is an array obtained by matching the arrays. Depending on the application, mapping can be done with a callback function if necessary.
- New Array Features coming with PHP 5.4: We will be able to use the array definition feature we are familiar with with PHP. For PHP 5.4 and later, we can create arrays with brackets [].
Requirements
- php server / hosting
Difficulty
- Basic
Gruplandırıp Sıralama
Aynı isimli dizi elemanları, dizide farklı yerlerde bulunsunlar, amacımız bu elemanları bir araya getirip sıralamak olsun.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$dizi = explode(" ", "bir iki iki üç bir iki iki üç üç");
natsort($dizi);
echo ''
;
print_r($dizi);
echo '';
?>
</body>
</html>
veya aşağıdaki örnekle yapabiliriz
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$dizi = explode(" ", "bir iki iki üç bir iki iki üç üç");
usort($dizi, "strnatcmp");
echo ''
;
print_r($dizi);
echo '';
?>
</body>
</html>
array_map() Fonksiyonu
Eşit sayıda birden fazla dizi elemanını eşleştirir. Her bir dizi elemanı sırayla aynı sıradaki dizi eleman ile eşleşir. Sonuç dizilerin eşleştirilmesi ile elde edilen bir dizi olur. Uygulamaya bağlı olarak eşleştirme işlemi gerekirse bir geri çağrım (callbac) fonksiyonu ile yapılabilir.
array_map(fonksiyon, dizi1, dizi2, diziler)
fonksiyon => Her dizinin her elemanına uygulanacak geri çağırım fonksiyonu.
dizi1 => Elemanları işlev tarafından işlenecek ilk dizi.
diziler => Elemanları işlev tarafından işlenecek diğer diziler.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
function fiyat_bilgisi($n, $m, $s){
return "$n nolu ürün olan $m'in fiyatı: $s TL dir";
}
$a = array(1,2,3,4,5);
$b =array("Kalem","Defter","Silgi","Cetvel","Pergel");
$c = array("0,75","2,5","0,50","1,5","1,25");
$d = array_map('fiyat_bilgisi', $a, $b, $c);
echo ''
;
print_r($d);
echo '';
?>
</body>
</html>
array_map() fonksiyonunu formdan gelen GET yada POST ile gelen bilgilerde boşlukta doldurulmuş alanları trim() fonksiyonu ile temizlemek içinde kullanabilirsiniz.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$_GET =array_map('trim', $_GET);
$_POST =array_map('trim', $_POST);
echo ''
;
print_r($_GET);
print_r($_POST);
echo '';
?>
</body>
</html>
PHP 5.4 ile Gelen Yeni Dizi Özellikleri
PHP ile Javascript dilinden alışık olduğumuz dizi tanımlama özelliğin kullanabileceğiz.
PHP 5.4 sonrası için dizileri köşeli [] parantezlerle oluşturabileceğiz.
$a = array(100, 200, 300); Bu dizi ile aşağıdaki dizi aynıdır.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$a = [100, 200, 300];
echo $a[0]."
"; // 100 yazar
echo $a[1]."
"; // 200 yazar
echo $a[2]."
"; // 300 yazar
?>
</body>
</html>
İç içe dizi örneği
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$a = [[2013, 2014, 2015], [2020, 2021]];
echo $a[0][0]."
"; // 2013 yazar
echo $a[1][0]."
"; // 2020 yazar
echo $a[0][2]."
"; // 2015 yazar
?>
</body>
</html>
$a = array('e' => 'Elma', 'l' => 'Limon', 'v' => 'Vişne'); Bu dizi ile aşağıdaki dizi aynıdır.
Yukarıdaki dizi ile aşağıdaki dizi aynıdır
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$b = ['e' => 'Elma', 'l' => 'Limon', 'v' => 'Vişne'];
echo $b['e']."
"; // Elma yazar
echo $b['l']."
"; // Limon yazar
echo $b['v']."
"; // Vişne yazar
?>
</body>
</html>
$Dizi = array('uye' => array('ad' => 'Efe', 'soyad' => 'Akmar'), 'id' => 2); Bu dizi ile aşağıdaki dizi aynıdır.
Yukarıdaki ilişkili dizi ile aşağıdaki ilişkili dizi aynıdır.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$Dizi = ['uye' => ['ad' => 'Efe', 'soyad' => 'Akmar'], 'id' => 2];
echo $Dizi['uye']['ad']."
"; // Efe yazar
echo $Dizi['id']."
"; // 2 yazar
?>
</body>
</html>
Fonksiyonlardan dönen dizi değişken değerlerine doğrudan erişebiliriz.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$metin = "dizilerde yeni özellikler";
echo explode(" ", $metin)[1]; // yeni yazacaktır
?>
</body>
</html>
Posted on Utopian.io - Rewarding Open Source Contributors