dizide sıralama işlemi nasıl yapılır?
merhabalar elimde
Array
(
[0] => merhaba+lar
[1] => ben+den
[2] => gel+en.ler
[3] => siz+ler.siniz
[4] => ben+de
[5] => siz+de
[6] => gel+ecek
[7] => ab
[8] => öte.ye
[9] => sabah
[10] => su.dan
[11] => çiçekçi
[12] => gel+mek
[13] => tut
[14] => at
[15] => bırak
[16] => çekiç
[17] => şarj
)
bu şekilde bir dizi var ben bu diziyi içerisinde bulunan + ve . ile parçalatım.çıktı olarak alfabetik sıraya almak istiyorum.
istediğim çıktı şu şekilde olacak
-ab
-at
-ben
--de
--den
-bırak
-çekiç
-çiçekçi
-gel
--ecek
--en
---ler
--mek
-merhaba
--lar
-öte
--ye
-sabah
-siz
--de
--ler
---siniz
-su
--dan
-sıdıka
-şarj
-tut
bu diziyi bu şekilde nasıl yapabilirim.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (4)
$array = array(
"merhaba+lar",
"ben+den",
"gel+en.ler",
"siz+ler.siniz",
"ben+de",
"siz+de",
"gel+ecek",
"ab",
"öte.ye",
"sabah",
"su.dan",
"çiçekçi",
"gel+mek",
"tut",
"at",
"bırak",
" çekiç",
"şarj"
);
function arr($arr){
$birlestir = implode(',', $arr);
$bol = preg_split("/[\s?&@#.,+]+/", $birlestir);
sort($bol, SORT_STRING);
return $bol;
}
echo '<pre>';
print_r(array_values(array_unique(arr($array)))); //tekrarı silinmiş çıktı
print_r(arr($array)); //tekrarlı çıktı
:)
usort fonksiyonu işini görebilir mi? tecrübeli değilim deneyemedim. Sen deneyip sonuç alırsan paylaşırsın.
ben tam olarak çıktı şeklinde gösterdiğim çıktıyı istiyorum.
sort değişkeni türkçe karaktere göre sıralamıyor.