Dizileri Birleştirme ve Sıralama (Turkish Tutorial)

Words
404
Reading
2 min
Listen
Play
9y

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>

Screenshot_39.png

Screenshot_40.png

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>

Screenshot_41.png

Screenshot_42.png

İ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>

Screenshot_43.png

Screenshot_44.png

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>

Screenshot_45.png

Screenshot_46.png

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>

Screenshot_47.png

Screenshot_48.png

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>

Screenshot_49.png

Screenshot_50.png

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>

Screenshot_51.png

Screenshot_52.png

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>

Screenshot_53.png

Screenshot_54.png

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>

Screenshot_55.png

Screenshot_56.png

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>

Screenshot_57.png

Screenshot_58.png

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>

Screenshot_59.png

Screenshot_60.png

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>

Screenshot_61.png

Screenshot_62.png

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