Profil detayı eklendi, herkes profillerine girip bir gözatsın! Sevdiğiniz üyelerin cevaplarını takip edin! Tüm güncellemeler

İsimlerin sonunu belirleme "nın, in, un"

Merhaba tam olarak belirtemedim başlıkta ama bunu facebook'da görmüştüm farklı isim ve soyadları düzgün bir şekilde ek yapabiliyor bunu nasıl yapabiliriz algoritması nasıldır bileniniz varmı acaba


Mesela :


Kenan'ın

Ulus'un

Elmas'ın

Yıldırım'ın

Altunal'ın



Facebook bildirim attığında


Hasan Çağlar'dan yeni bildirim

Kenan Bekir'den yeni bildirim


Bu şekilde Çağların sonuna ( dan ) ekleyeciğini nasıl anlıyor


Benim yapmak istediğim şu


Hasan Çağlar'ın Satışı

Kenan Bekir'in Satışı

3

Cevaplar (3)

İşlem devam ediyor, lütfen bekleyin..
Emre BÜYÜKDURMUŞ
Doğru Cevap
@ebykdrms
3 ay önce [Güncellendi]

Facebook'un yöntemlerini bilemiyorum. Özellikle çeviri sayfalarında kullanıcılardan çokça dönüş alıyorlar. Belki isimlere göre ekleri veritabanına ekliyorlardır, belki de bir yapay zeka kullanıyorlardır. Bunun yapay sinir ağları yardımıyla nasıl yapılabileceğine dair de bir çalışma yapabiliriz ama biz yine düz yolumuzdan nasıl yapacağımıza bakalım.


NOT: Yazının arasına giren reklamların benimle ilgisi yok. uzmancevap sistemi kendisi ekliyor. Beğendim :)


Peki biz bunu nasıl yapabiliriz? Aşağıda hem yapıp hem anlatarak ilerleyeceğim. İsme ismin 4 haline göre ek getirme işini yapalım. Bunu, isimde geçen son sesli harfi bularak yapabiliriz. Bunun her zaman doğru sonucu vereceğinin garantisi yok tabii ki ama çoğunlukla doğru sonucu verecektir. Peki bunu PHP ile nasıl yaparız?


Aşağıda verdiğim fonksiyon, kendisine verilen string değerde (isim değerini buna vereceğiz) geçen son sesli harfin kalın mı ince mi olduğunu bulur. Eğer kalın ise 0, ince ise 1 döndürür. Hiç sesli harf bulamazsa yine 1 döndürür.

FONKSİYON 1

function getLastVovel($word)
{
    $boldVovelCharsArr = array('a','ı','o','u');
    $thinVovelCharsArr = array('e','i','ö','ü');
    $charsArr = str_split($word);
    $charCount = count($charsArr);

    for($i=$charCount-1; $i>=0; $i--) {
        if(in_array($charsArr[$i],$boldVovelCharsArr)) return 0;
        if(in_array($charsArr[$i],$thinVovelCharsArr)) return 1;
    }
    return 1;
}


Şimdi de ekleme işini yapan bir fonksiyon oluşturalım. Bu fonksiyon 3 parametreli. İlk parametrede kelimeyi giriyoruz. İkinci parametrede ekleyeceğimiz çekim ekini (e,i,de,den) yazıyoruz. Son parametre isteğe bağlı. true yaparsak ismi kesme işaretiyle ekten ayırır; false dersek veya hiçbir şey demezsek ayırmaz.

FONKSİYON 2

function appendToWord($word, $statusOfNoun, $split=false)
{
    $eStatusOfNoun = array('a','e');
    $iStatusOfNoun = array('ı','i');
    $deStetusOfNoun = array('da','de');
    $denStatusOfNoun = array('dan','den');

    $lastVovelOfWordIsBold = getLastVovel($word);
    if($split) $word.="'";

    if(in_array($statusOfNoun, $eStatusOfNoun))
        $word.=$eStatusOfNoun[$lastVovelOfWordIsBold];    
    elseif(in_array($statusOfNoun, $iStatusOfNoun))
        $word.=$iStatusOfNoun[$lastVovelOfWordIsBold];
    elseif(in_array($statusOfNoun, $deStatusOfNoun))
        $word.=$deStatusOfNoun[$lastVovelOfWordIsBold];
    elseif(in_array($statusOfNoun, $denStatusOfNoun))
        $word.=$denStatusOfNoun[$lastVovelOfWordIsBold];
    else $word.=$statusOfNoun;

    return $word;
}


Şimdi mesela şunu denersek düzgün sonuç alırız:

echo appendToWord('Erman','e',true); // Erman'a


Ama yeterli değil. Çünkü mesela son harf sesliyse araya -y kaynaştırma harfi girmeli. Şu anki halinde şu komut kötü sonuç üretiyor:

echo appendToWord('Emre','e',true);
// Olması gereken: Emre'ye
// Aslında olan: Emre'e


Demek ki son harfin sesli harf olup olmadığını da kontrol etmemiz gerek. Eğer son harf sesli harf ise ekten önce y kaynaştırma harfini eklemeliyiz. Öncelikle son harfin sesli harf olup olmadığına bakan bir fonksiyon yazalım. Bu fonksiyon, son harf sesli ise true, değilse false döndürecek.

FONKSİYON 3:

function isLastCharVovel($word)
{
    $vovelCharsArr = array('a','ı','o','u','e','i','ö','ü');

    $charsArr = str_split($word);
    $charCount = count($charsArr);
    
    return in_array($charsArr[$charCount-1],$vovelCharsArr);
}


Artık son harfi kontrol edebildiğimize göre 2.fonksiyonumuzda düzenleme yapalım ve kelimenin son harfi sesli harfse ekten önce y kaynaştırma harfini eklemesini söyleyelim. Tabi bu sadece ismin e hali ve ismin i hali için geçerli olacak. de ve den eklerinde kaynaştırma bulunmayacak.

FONKSİYON 2:

function appendToWord($word, $statusOfNoun, $split=false)
{
    $newWord = $word;
    $eStatusOfNoun = array('a','e');
    $iStatusOfNoun = array('ı','i');
    $deStatusOfNoun = array('da','de');
    $denStatusOfNoun = array('dan','den');

    $lastVovelOfWordIsBold = getLastVovel($word);
    if($split) $newWord.="'";

    if(in_array($statusOfNoun, $eStatusOfNoun)) {        
        if(isLastCharVovel($word)) $newWord.='y';
        $newWord.=$eStatusOfNoun[$lastVovelOfWordIsBold];
    }            
    elseif(in_array($statusOfNoun, $iStatusOfNoun)) {
        if(isLastCharVovel($word)) $newWord.='y';
        $newWord.=$iStatusOfNoun[$lastVovelOfWordIsBold];
    }        
    elseif(in_array($statusOfNoun, $deStatusOfNoun))
        $newWord.=$deStatusOfNoun[$lastVovelOfWordIsBold];
    elseif(in_array($statusOfNoun, $denStatusOfNoun))
        $newWord.=$denStatusOfNoun[$lastVovelOfWordIsBold];
    else $newWord.=$statusOfNoun;

    return $newWord;
}

Fonksiyonun önceki halinde tüm işlemleri parametreden gelen $word üzerinde direkt yapıyordum ama şimdi ürettiğim kelimeyle ilk gelen kelime karşımasın diye kelimenin üzerinde çalıştığım haline $newWord dedim. İsmin e ve i hallerinin düzenlediğim if'ler içine de son karakterin sesli olup olmadığının kontrolünü ekledim.


Şimdi yeterli mi? Artık Emre'ye, Ali'ye, Fatma'ya gibi düzgün çıktılar veriyor. Ama güzel Türkçemizin bir özelliği daha var: ünsüz sertleşmesi ve yumuşaması. Örnek verecek olursak, aşağıdaki işlemde halen kötü sonuç alıyoruz:

echo appendToWord('Fatih','den',true);
// Olması gereken: Fatih'ten
// Aslında olan: Fatih'den


Demek ki de ve den'deki ünsüz d harfimiz de yerine göre sert hali olan t'ye dönüşmeli. Peki bunu nasıl kontrol edeceğiz? Yine son harfe bakmamız gerekiyor. Eğer bu bir özel isim ise (kesme işaretiyle ayırıyorsak) ekteki d harfi sertleşecektir. Örn: Ahmet'den değil Ahmet'ten.


Peki ismin sonundaki sessiz harf ne olursa ekteki d harfi t'ye dönecek? FISTIKÇI ŞAHAP ifadesindeki sessiz harfler. Eğer kelimemizin son harfi bu harflerden biriyse d, t'ye döner.

O halde bu kontrolü de yapan bir fonksiyon yazalım. Bu fonksiyon, eğer son harf f,s,t,k,ç,ş,h,p harflerinden biriyse true, değilse false dönecek.

FONKSİYON 4:

function isLastCharStrong($word)
{
    $strongLastCharsArr = array('f','s','t','k','ç','ş','h','p');
    
    $charsArr = str_split($word);
    $charCount = count($charsArr);
    
    return in_array($charsArr[$charCount-1],$strongLastCharsArr);
}


Şimdi yine 2.fonksiyonda düzenleme yapacağız. Bu kez düzenlememiz de ve den bloklarında olacak. Burada dikkatten kaçmaması gereken bir nokta var: Bu ekleri, de ve den hallerini tutan dizilere ekleyeceğim. de ve den blokları içinde de son harfin durumuna göre farklı koşullar ekleyeceğim.

FONKSİYON 2:

function appendToWord($word, $statusOfNoun, $split=false)
{
    $newWord = $word;
    $eStatusOfNoun = array('a','e');
    $iStatusOfNoun = array('ı','i');
    $deStatusOfNoun = array('da','de','ta','te');
    $denStatusOfNoun = array('dan','den','tan','ten');

    $lastVovelOfWordIsBold = getLastVovel($word);
    if($split) $newWord.="'";

    if(in_array($statusOfNoun, $eStatusOfNoun)) {        
        if(isLastCharVovel($word)) $newWord.='y';
        $newWord.=$eStatusOfNoun[$lastVovelOfWordIsBold];
    }            
    elseif(in_array($statusOfNoun, $iStatusOfNoun)) {
        if(isLastCharVovel($word)) $newWord.='y';
        $newWord.=$iStatusOfNoun[$lastVovelOfWordIsBold];
    }        
    elseif(in_array($statusOfNoun, $deStatusOfNoun)) {
        if(isLastCharStrong($word))
            $newWord.=$deStatusOfNoun[$lastVovelOfWordIsBold+2];
        else 
            $newWord.=$deStatusOfNoun[$lastVovelOfWordIsBold];
    }        
    elseif(in_array($statusOfNoun, $denStatusOfNoun)) {
        if(isLastCharStrong($word))
            $newWord.=$denStatusOfNoun[$lastVovelOfWordIsBold+2];
        else 
            $newWord.=$denStatusOfNoun[$lastVovelOfWordIsBold];
    }
        
    else $newWord.=$statusOfNoun;

    return $newWord;
}


Harika! Artık aşağıdaki isim de düzgünce ayrılabiliyor:

echo appendToWord('Fatih','den',true); // Fatih'ten
echo appendToWord('tuzluk','den'); // tuzluktan


Peki bitti mi? Tabii ki bitmedi. Bunlar sadece ismin farklı hallerinin çekim ekleriydi. İyelik eklerini de ekleyelim. İyelik (aitlik) eklerimiz şunlar: -im, -in, -i, -imiz, -iniz, -leri


Bu ekler içinden -i ekini ismin -i hali kısmında halletmiştik. Onu bırakalım.

-leri için yapılması gereken, aklıma gelen bi'şey yok. Dümdüz eklenebilir.


-im, -in, -imiz ve -iniz ekleri problemli. Çünkü kelimemizin son harfi sesli harfse araya kaynaştırma harfi girmeli. Bunu da 2.fonksiyonumuza ekleyeceğiz. Ayrıca burada kelimede geçen son ünlü harfin düz ünlü mü yuvarlak ünlü mü olduğunu da anlamamız gerekecek.

Örn: okul-im ifadesinde u harfi yuvarlak ünlüdür. Sonucumuz okulum olmalıdır.

Örn: tablet-im ifadesinde e harfi düz ünlüdür. Sonucumuz tabletim olmalıdır.

Bu durumda son sesli harfin hangi sesli harf olduğunu da bilmem gerekecek. Bunun için de fonksiyon yazalım. Sonra da asıl fonksiyonumuza eklenecekleri ekleyelim.

FONKSİYON 5 (Son ünlü harfi döndürecek)

function getLastVovelChar($word)
{
    $vovelCharsArr = array('a','ı','o','u','e','i','ö','ü');

    $charsArr = str_split($word);
    $charCount = count($charsArr);

    for($i=$charCount-1; $i>=0; $i--) {
        if(in_array($charsArr[$i],$vovelCharsArr)) return $charsArr[$i];
    }
    return '';
}


FONKSİYON 6 (Son ünlü harfin yuvarlak olup olmadığını dondürecek)

function isLastVovelCharRound($word)
{
    $lastVovelChar = getLastVovelChar($word);
    return in_array($lastVovelChar, array('o','ö','u','ü'));
}


FONKSİYON 2 (Değişken adlarını kısalttım ve iyelik eklerini özelliğini de ekledim)

function appendToWord($word, $suffix, $split=false)
{
    $newWord = $word;

    // İsmin hal ekleri
    $e = array('a','e');
    $i = array('ı','i');
    $de = array('da','de','ta','te');
    $den = array('dan','den','tan','ten');

    // Aitlik ekleri
    $im = array('ım','im','um','üm');
    $in = array('ın','in','un','ün');
    $imiz = array('ımız','imiz','umuz','ümüz');
    $iniz = array('ınız','iniz','unuz','ünüz');
    $leri = array('ları','leri');
    $possissives = array('ım','im','ın','in','ımız','imiz','ınız','iniz','ları','leri');

    // Çoğul ekleri
    $ler = array('lar','ler');

    // Kesme işareti eklemesi
    $lastVovelOfWordIsBold = getLastVovel($word);
    if($split) $newWord.="'";

    // Kaynaştırma harfi eklemesi
    if(isLastCharVovel($word)) {
        if(in_array($suffix, $e) || in_array($suffix, $i)) {
            $newWord.='y';
        }
        elseif(
            in_array($suffix, $im) || in_array($suffix, $in)) {
            $newWord.='n';
        }
    }    

    // İstenen ekin eklenmesi
    if(in_array($suffix, $e)) {
        $newWord.=$e[$lastVovelOfWordIsBold];
    }
    elseif(in_array($suffix, $i)) {
        $newWord.=$i[$lastVovelOfWordIsBold];
    }        
    elseif(in_array($suffix, $de)) {
        if(isLastCharStrong($word)) $newWord.=$de[$lastVovelOfWordIsBold+2];
        else $newWord.=$de[$lastVovelOfWordIsBold];
    }        
    elseif(in_array($suffix, $den)) {
        if(isLastCharStrong($word)) $newWord.=$den[$lastVovelOfWordIsBold+2];
        else $newWord.=$den[$lastVovelOfWordIsBold];
    }
    elseif(in_array($suffix, $im)) {
        if(isLastVovelCharRound($word)) $newWord.=$im[$lastVovelOfWordIsBold+2];
        else $newWord.=$im[$lastVovelOfWordIsBold];
    }
    elseif(in_array($suffix, $in)) {
        if(isLastVovelCharRound($word)) $newWord.=$im[$lastVovelOfWordIsBold+2];
        else $newWord.=$im[$lastVovelOfWordIsBold];
    }
    elseif(in_array($suffix, $imiz)) {
        if(isLastVovelCharRound($word)) $newWord.=$im[$lastVovelOfWordIsBold+2];
        else $newWord.=$im[$lastVovelOfWordIsBold];
    }
    elseif(in_array($suffix, $iniz)) {
        if(isLastVovelCharRound($word)) $newWord.=$im[$lastVovelOfWordIsBold+2];
        else $newWord.=$im[$lastVovelOfWordIsBold];
    }
    elseif(in_array($suffix, $leri)) {
        if(isLastVovelCharRound($word)) $newWord.=$im[$lastVovelOfWordIsBold+2];
        else $newWord.=$im[$lastVovelOfWordIsBold];
    }
    elseif(in_array($suffix, $ler)) {
        $newWord.=$ler[$lastVovelOfWordIsBold];
    }


    else $newWord.=$suffix;

    return $newWord;
}


Artık -im, -in, -imiz, -iniz, -leri ve hatta -ler eklerini de ekleyebiliyoruz. Bitti mi? Tabii ki hayır. Aşağıdaki örnekte halen sorun yaşayabileceğimizi görüyoruz:

echo appendToWord('tuzluk','im'); // tuzlukum (oysaki tuzluğum olmalıydı)


Şimdi ne yapacağız? Eğer kelimemiz özel isim değilse (şimdilik, kesme işaretiyle ayırmıyorsak özel isim değildir diye varsayabiliriz.) ve kelimemizin son harfi sert ünsüzse (f,s,t,k,ç,ş,h,p) ve ek olarak da i, im, imiz, iniz ekleri gelecekse kelimemizin son harfi yumuşamalı.


Son harfin sessiz harf olup olmadığını bize söyleyecek bir fonksiyon oluşturalım.

FONKSİYON 7

function isLastCharConsonant($word) {
    $consonants = array('b','c','ç','d','f','g','ğ','h','j','k','l','m','n','p','r','s','ş','t','v','y','z','w','x');
    
    $charsArr = str_split($word);
    $charCount = count($charsArr);
    
    return in_array($charsArr[$charCount-1],$consonants);
}


Ayrıca son harfin sessiz olduğunu anladığımızda bu harfin hangi harf olduğunu da bize söyleyen bir fonksiyon oluşturalım.

FONKSİYON 8

function getLastChar($word)
{
    $charsArr = str_split($word);
    $charCount = count($charsArr);
    return $charsArr[$charCount-1];
}


Şimdi de asıl fonksiyonumuz olan 2.fonksiyonumuzda bunlara göre eklemeler yapalım.

FONKSİYON 2

function appendToWord($word, $suffix, $split=false)
{
    $newWord = $word;

    // İsmin hal ekleri
    $e = array('a','e');
    $i = array('ı','i');
    $de = array('da','de','ta','te');
    $den = array('dan','den','tan','ten');

    // Aitlik ekleri
    $m = array('m','m');
    $n = array('n','n');
    $im = array('ım','im','um','üm');
    $in = array('ın','in','un','ün');
    $miz = array('mız','miz','muz','müz');
    $niz = array('nız','niz','nuz','nüz');
    $imiz = array('ımız','imiz','umuz','ümüz');
    $iniz = array('ınız','iniz','unuz','ünüz');
    $leri = array('ları','leri');
    $possissives = array('m', 'n', 'ım', 'im', 'ın', 'in', 'mız', 'miz', 'ımız', 'imiz', 'nız', 'niz', 'ınız', 'iniz', 'ları', 'leri');

    // Çoğul ekleri
    $ler = array('lar','ler');

    // Kelimedeki son sert ünsüzün yumuşaması
    if(!$split&&isLastCharStrong($word)&&!(in_array($suffix,$de)||in_array($suffix,$den))) {
        $lastChar = getLastChar($word);
        $lastChar = str_replace(array('t','k','ç','ş','p'),array('d','ğ','c','s','b'),$lastChar);
        $newWord = substr_replace($word,$lastChar,-1,1);
    } 

    // Kesme işareti eklemesi
    $lastVovelOfWordIsBold = getLastVovel($word);
    if($split) $newWord.="'";

    // Kaynaştırma harfi eklemesi
    if(isLastCharVovel($word)) {
        if(in_array($suffix, $e) || in_array($suffix, $i)) {
            $newWord.='y';
        }
        elseif(
            in_array($suffix, $im) || in_array($suffix, $in)) {
            $newWord.='n';
        }
    }

    // İstenen ekin eklenmesi
    if(in_array($suffix, $e)) {
        $newWord.=$e[$lastVovelOfWordIsBold];
    }
    elseif(in_array($suffix, $i)) {
        $newWord.=$i[$lastVovelOfWordIsBold];
    }        
    elseif(in_array($suffix, $de)) {
        if(isLastCharStrong($word)) $newWord.=$de[$lastVovelOfWordIsBold+2];
        else $newWord.=$de[$lastVovelOfWordIsBold];
    }        
    elseif(in_array($suffix, $den)) {
        if(isLastCharStrong($word)) $newWord.=$den[$lastVovelOfWordIsBold+2];
        else $newWord.=$den[$lastVovelOfWordIsBold];
    }
    elseif(in_array($suffix, $im) || in_array($suffix, $m)) {
        if(isLastCharConsonant($word)) {
            if(isLastVovelCharRound($word)) $newWord.=$im[$lastVovelOfWordIsBold+2];
            else $newWord.=$im[$lastVovelOfWordIsBold];
        }
        else {
            $newWord.=$m[$lastVovelOfWordIsBold];
        }
    }
    elseif(in_array($suffix, $in) || in_array($suffix, $n)) {
        if(isLastCharConsonant($word)) {
            if(isLastVovelCharRound($word)) $newWord.=$in[$lastVovelOfWordIsBold+2];
            else $newWord.=$in[$lastVovelOfWordIsBold];
        }
        else {
            $newWord.=$n[$lastVovelOfWordIsBold];
        }        
    }
    elseif(in_array($suffix, $imiz) || in_array($suffix, $miz)) {
        if(isLastCharConsonant($word)) {
            if(isLastVovelCharRound($word)) $newWord.=$imiz[$lastVovelOfWordIsBold+2];
            else $newWord.=$imiz[$lastVovelOfWordIsBold];
        }
        else {
            if(isLastVovelCharRound($word)) $newWord.=$miz[$lastVovelOfWordIsBold+2];
            else $newWord.=$miz[$lastVovelOfWordIsBold];
        }        
    }
    elseif(in_array($suffix, $iniz) || in_array($suffix, $niz)) {
        if(isLastCharConsonant($word)) {
            if(isLastVovelCharRound($word)) $newWord.=$iniz[$lastVovelOfWordIsBold+2];
            else $newWord.=$iniz[$lastVovelOfWordIsBold];
        }
        else {
            if(isLastVovelCharRound($word)) $newWord.=$niz[$lastVovelOfWordIsBold+2];
            else $newWord.=$niz[$lastVovelOfWordIsBold];
        }
        
    }
    elseif(in_array($suffix, $leri)) {
        if(isLastVovelCharRound($word)) $newWord.=$leri[$lastVovelOfWordIsBold+2];
        else $newWord.=$leri[$lastVovelOfWordIsBold];
    }
    elseif(in_array($suffix, $ler)) {
        $newWord.=$ler[$lastVovelOfWordIsBold];
    }

    else $newWord.=$suffix;

    return $newWord;
}


Toplamda 8 adet fonksiyon ile birçok kelimeye ek getirebilir hale geldik. Bitti mi? Tabii ki hayır. Bazı özel kelimeler var ki son sessiz harfi yumuşayacağı yerde ekini sertleştiriyor. Bu özel durumları da yakalamak lazım ama bence şu ana kadarki ilerlememiz yeterlidir.


Bu fonksiyonlar üzerinde optimizasyon yapılmalı. Gereksiz veya tekrarlanan kodlar düzenlenmeli. Ayrıca nesne tabanlı yapıya uygun olarak bir sınıf içinde toplanmalı.


Dosyanın son halini GitHub üzerinde paylaştım. İnceleyebilirsiniz:

https://github.com/ebykdrms/turkish-suffix-combiner

Cevapla @alikanci3 ay önce
@ebykdrms, abi sana ne deyim bilmiyorum Allah razı olsun bu kadar ilgilenmişsin yazmışsın ellerin dert görmesin senin ya :)
Cevapla @ebykdrms3 ay önce
@alikanci, teşekkür ederim. :) Sayende bir de github projesi oluşturmuş oldum. Belki gün gelir birilerinin işine yarar. Ara sıra geliştiriyorum. Projenin son güncel haline oradan da ulaşabilirsin:
https://github.com/ebykdrms/turkish-suffix-combiner
İşlem devam ediyor, lütfen bekleyin..
Abdulbaki Zırıh
@abdulbaki
3 ay önce [Güncellendi]
<?php

function special_name($name){
    // özel isim tanımlamak için.
	$special = array(
		"cemal" => "in",
		"kemal" => "in"
	);

	if(isset($special[$name]))
	{
		return $name . "' " . $special[$name];
	}else{
        // tahmini olarak ismin son harfleri için.
		$letters = substr($name, -2);
		$names = array(
			"an" => "ın",
			"us" => "ın",
			"as" => "ın",
			"ım" => "ın",
			"al" => "ın",
			"ar" => "dan",
			"il" => "in",
			"ir" => "in",
			"ut" => "un",
			"in" => "in",
			"na" => "nın",
			"et" => "in",
			"de" => "nin",
			"el" => "in",
			"ki" => "nin",
			"ut" => "un"
		);

		if(isset($names[$letters]))
		{
			return $name . "' " . $names[$letters];
		}
		else
		{
			return $name;
		}
	}
}

echo special_name("Abdulbaki");
// çıktı: Abdulbaki' nin

İşlem devam ediyor, lütfen bekleyin..
Ertuğrul Dege
@dege
3 ay önce

Yukarıdakiler ile uğraşmayın hocam.


Buyrun : https://github.com/aozisik/turkce

Cevapla @alikanci3 ay önce
@dege, eyvallah teşekkür ederim @ebykdrms arkadaşım mantığını anlata anlata yapması çok işime yaradı hatta bir çok kişinin işine yarayacak, bu tür platformlarda hazır kod yerine mantığını anlatarak cevap vermek en güzel şey :)
İşlem devam ediyor, lütfen bekleyin..

Cevap yaz Sadece sorunun cevabını yazın