What Will I Learn?
- array_merge(): Create a new array by concatenating the specified arrays
- array_merge_recursive(): Create a new array by adding two or more arrays in sequence
- array_walk(): Array_walk () function can also be used to obtain elements of the array. A function applies to all members of the array.
- array_combine(): Creates a new array with two keys, one key, the other.
- ksort(): Sort by a sequence key
- krsort(): Inverse to a sequence key
- asort(): List the values of an array without breaking the relations with the aliases
- array_reverse(): Sort and return the string in reverse order
- array_multisort(): This function associates multiple arrays containing the same number of elements, one big and one small. If the function is to be applied on two arrays, both arrays must have the same number of elements.
Requirements
- php server / hosting
Difficulty
- Basic
Dizileri Birleştirme
array_merge()
Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur
Söz dizirni:
array_merge($dizi1, $dizi2,....)
Eğer dizilerde aynı anahtara sahip elemanlar varsa sonraki dizinin eleman öncekinin yerine konur. Ancak, eğer diziler sayısal anahtarlar içeriyorsa sonraki değer öncekinin üzerine yazılmaz, sona eklenir.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$dizi1=array("can","gül","ece");
$dizi2=array("mert","eda");
$result = array_merge($dizi1, $dizi2);
echo ''
;
print_r($result);
echo '';
?>
</body>
</html>
array_merge_recursive()
İki veya daha fazla sayıda diziyi artarda ekleyerek yeni bir dizi oluşturur
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$dizi1 = array("Ders1","Bilgisayar");
$dizi2 = array("Ders2","Matematik");
$dizi3 = array("Ders3","Fizik");
$dizi4 = array_merge_recursive($dizi1,$dizi2,$dizi3);
while(list($anhatar1, $değer1) = each($dizi4)) {
print $anhatar1 ." . sırada " . $değer1 ." var
";
}
?>
</body>
</html>
İlişkili dizilerde birden fazla diziyi birleştirmek için örnek verelim.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$dizi1 = array("Ders1" => "Bilgisayar");
$dizi2 = array("Ders2" => "Matematik");
$dizi3 = array("Ders3" => "Fizik");
$dizi4 = array_merge_recursive($dizi1,$dizi2,$dizi3);
while(list($anhatar1, $değer1) = each($dizi4)) {
print $anhatar1." in değeri ".$değer1."
";
}
?>
</body>
</html>
Dizileri + operatörü kullanarak ta birleştirebiliriz.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$dizi1 = array("Ders1" => "Bilgisayar");
$dizi2 = array("Ders2" => "Matematik");
$dizi3 = array("Ders3" => "Fizik");
$yeni_dizi = $dizi1 + $dizi2 + $dizi3;
echo ''
;
print_r($yeni_dizi);
echo '';
?>
</body>
</html>
array_walk()
Dizilere ait elemanları elde etmek için ayrıca bir fonksiyon ile çalışan array_walk() fonksiyonu kullanılabilir. Bir fonksiyonu dizinin bütün elemanlarına uygular.
Kullanımı: array_walk(dizi, fonksiyon, veri)
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$dizi1 = array("ders"=>"ingilizce","ders1"=>"Bilgisayar","ders2"=>"Donanım", "der3"=>"Felsefe");
function diziyaz( $eleman ) {
echo "$eleman
\n";
}
array_walk( $dizi1, 'diziyaz' );
?>
</body>
</html>
array_combine()
İki ayrı diziyi biri anahtar, diğeri değer olacak biçimde yeni bir dizi oluşturur.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$a = array('ad', 'soyad', 'yas');
$b = array('Ceren', 'Gezer', '9');
$c = array_combine($a, $b);
echo ''
;
print_r($c);
echo '';
?>
</body>
</html>
Dizileri Sıralama
ksort()
Bir diziyi anahtarlarına göre sıralar
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$meyve = array("d"=>"limon", "a"=>"portakal", "b"=>"elma", "c"=>"üzüm");
ksort($meyve);
foreach ($meyve as $anahtar =>$deger) {
echo "$anahtar = $deger
";
}
?>
</body>
</html>
krsort()
Bir diziyi anahtarlarına göre tersine sualar
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$meyve = array("d"=>"limon", "a"=>"portakal", "b"=>"elma", "c"=>"üzüm");
krsort($meyve);
foreach ($meyve as $anahtar =>$deger) {
echo "$anahtar = $deger
";
}
?>
</body>
</html>
asort()
Bir dizinin değerlerini anhtarlarıyla ilişkilerini bozmadan sıralar
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$meyve = array("d"=>"limon", "a"=>"portakal", "b"=>"elma", "c"=>"üzüm");
asort($meyve);
foreach ($meyve as $anahtar => $deger) {
echo "$anahtar = $deger
";
}
?>
</body>
</html>
array_reverse()
Diziyi tersine sıralayıp döndürür
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$meyve = array("d"=>"limon", "a"=>"portakal", "b"=>"elma", "c"=>"üzüm");
$meyve = array_reverse($meyve);
foreach ($meyve as $anahtar => $deger) {
echo "$anahtar = $deger
";
}
?>
</body>
</html>
array_multisort()
Söz Dizimi: array_multisort(dizi1, seçenek, dizi2, seçenek, . .)
Bu fonksiyon aynı sayıda eleman içeren birden fazla diziyi bir birleriyle ilişkilendirerek, büyükten küçüğe ve küçükten büyüğe doğru sıralar. Eğer fonksiyon iki dizi üzerinde uygulanacak ise her iki dizinin de aynı sayıda elemana sahip olması gerekir.
array_multisort() fonksiyonu ile birlikte aşağıdaki seçeneklerde kullanılır.
SEÇENEK => AÇIKLAMA
SORT_ASC => Bir dizinin elemanlarını küçükten büyüğe doğru sıralar.
SORT_DESC => Bir dizinin elemanlarını büyükten küçüğe doğru sıralar.
SORT_REGULAR => Aşağıdakilerden birisi seçilmezse varsayılandır.
SORT_NUMERIC => Sıralama önceliğini sayılara verir.
SORT_STRING => Sıralama önceliğini string'lere verir.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$dizi1 = array(0,100,2,4,1,9,79,28,8);
$dizi2 = array(1,3,2,5,9,7,6,19,10);
array_multisort($dizi1, SORT_ASC, $dizi2);
echo implode(" - ", $dizi1)."
";
echo implode(" - ", $dizi2)."
";
?>
</body>
</html>
Bu örneğin ekran çıktısı aşağıdaki gibidir. SORT_ASC Kullandığımız için veriler küçükten büyüğe doğru sıralandı.
Örnek 2;
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$ar = array(0,100,2,4,7,9);
$ar2 = array(1,3,2,5,6,7);
array_multisort($ar, SORT_DESC, $ar2, SORT_DESC);
echo implode(" - ", $ar)."
";
echo implode(" - ", $ar2)."
";
?>
</body>
</html>
SORT_DESC Kullandığmız için veriler büyükten küçüğe doğru sıralandı.
Posted on Utopian.io - Rewarding Open Source Contributors