$yeniDizi[3]=$eskiDizi[5];
diyebilirsin.. Fakat bu sabit kalır. Anladığım kadarıyla PHP konusunda bilgin var. PDO dan bahsettiğine göre bu cevap seni tatmin etmeyecektir.
Ama sen de bizle biraz daha ayrıntılı konuşursan belki daha fazla yardımcı olabiliriz.
belki şu link işini görür http://php.net/manual/tr/array.sorting.php
Ek Olarak: PHP ile türkçe karakterli dizinin sırlaması
unction tr_strcmp ( $a , $b ) {
$lcases = array( 'a' , 'b' , 'c' , 'ç' , 'd' , 'e' , 'f' , 'g' , 'ğ' , 'h' , 'ı' , 'i' , 'j' , 'k' , 'l' , 'm' , 'n' , 'o' , 'ö' , 'p' , 'q' , 'r' , 's' , 'ş' , 't' , 'u' , 'ü' , 'w' , 'v' , 'y' , 'z' );
$ucases = array ( 'A' , 'B' , 'C' , 'Ç' , 'D' , 'E' , 'F' , 'G' , 'Ğ' , 'H' , 'I' , 'İ' , 'J' , 'K' , 'L' , 'M' , 'N' , 'O' , 'Ö' , 'P' , 'Q' , 'R' , 'S' , 'Ş' , 'T' , 'U' , 'Ü' , 'W' , 'V' , 'Y' , 'Z' );
$am = mb_strlen ( $a , 'UTF-8' );
$bm = mb_strlen ( $b , 'UTF-8' );
$maxlen = $am > $bm ? $bm : $am;
for ( $ai = 0; $ai < $maxlen; $ai++ ) {
$aa = mb_substr ( $a , $ai , 1 , 'UTF-8' );
$ba = mb_substr ( $b , $ai , 1 , 'UTF-8' );
if ( $aa != $ba ) {
$apos = in_array ( $aa , $lcases ) ? array_search ( $aa , $lcases ) : array_search ( $aa , $ucases );
$bpos = in_array ( $ba , $lcases ) ? array_search ( $ba , $lcases ) : array_search ( $ba , $ucases );
if ( $apos !== $bpos ) {
return $apos > $bpos ? 1 : -1;
}
}
}
return 0;
}
$dizi = array('Adem', 'İlkay', 'Işık', 'Ömer', 'Orhan', 'Ceren', 'Çağla', 'Zeynep');
usort($dizi, 'tr_strcmp');
var_dump($dizi);