Kullanıcı adını ters çevirme farklı çıktılar
merhaba,
kullanıcı adını nasıl farklı şekillerde çekerim?
Normalde:
<?=$veri[0]["user_name"];?>
çıktısı: Ali Kaya
İsteğim:
Çıktı 1: A. Kaya
çıktı 2: Kaya, Ali
çıktı 3: Kaya, A.
çıktı 4: Kaya Ali
bu şekillerde yerine göre ad soyad bilgisini nasıl düzeltip yazdırırım?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
$names = [
"Mehmet Akif Gökçe",
"Ali Kaya",
"Elif Gizem Adıgüzel",
];
function nameFormatOne($name){
$i = explode(' ', $name);
$lastName = $i[count($i) - 1];
unset($i[count($i) - 1]);
$out = '';
foreach($i as $x => $y){
$out .= substr($y, 0, 1).'.';
if($x < count($i) - 1){
$out .= ' ';
}
}
$out .= ' '.$lastName;
echo $out;
}
function nameFormatTwo($name){
$i = explode(' ', $name);
$lastName = $i[count($i) - 1];
unset($i[count($i) - 1]);
$out = $lastName.', ';
foreach($i as $x => $y){
$out .= $y;
if($x < count($i) - 1){
$out .= ' ';
}
}
echo $out;
}
function nameFormatThree($name){
$i = explode(' ', $name);
$lastName = $i[count($i) - 1];
unset($i[count($i) - 1]);
$out = $lastName.', ';
foreach($i as $x => $y){
$out .= substr($y, 0, 1).'.';
if($x < count($i) - 1){
$out .= ' ';
}
}
echo $out;
}
function nameFormatFour($name){
$i = explode(' ', $name);
$lastName = $i[count($i) - 1];
unset($i[count($i) - 1]);
$out = $lastName.' ';
foreach($i as $x => $y){
$out .= $y;
if($x < count($i) - 1){
$out .= ' ';
}
}
echo $out;
}
echo "<pre>";
foreach($names as $n){
nameFormatOne($n);
echo " | Format 1<br/>";
nameFormatTwo($n);
echo " | Format 2<br/>";
nameFormatThree($n);
echo " | Format 3<br/>";
nameFormatFour($n);
echo " | Format 3<br/>";
}
echo "</pre>";
/**
M. A. Gökçe | Format 1
Gökçe, Mehmet Akif | Format 2
Gökçe, M. A. | Format 3
Gökçe Mehmet Akif | Format 4
A. Kaya | Format 1
Kaya, Ali | Format 2
Kaya, A. | Format 3
Kaya Ali | Format 4
E. G. Adıgüzel | Format 1
Adıgüzel, Elif Gizem | Format 2
Adıgüzel, E. G. | Format 3
Adıgüzel Elif Gizem | Format 4
*/