v2.5.2
Giriş yap

Arrayları echo dönüştürme

erdal42
401 defa görüntülendi ve 1 kişi tarafından değerlendirildi
function mb_ucfirst($kelime): string
{
    return mb_strtoupper(mb_substr($kelime,0, 1)) . mb_substr($kelime, 1);
}

function TDKSozluk(string $kelime, $kelimeLimit = true, int $anlamLimit = 2, int $benzerLimit = 10): array
{
    $ch = curl_init("https://sozluk.gov.tr/gts?ara=$kelime");
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_SSL_VERIFYPEER => false
    ]);
    $sonuc = curl_exec($ch);
    curl_close($ch);
    $sonuc = json_decode($sonuc,true);

    $return = [];
    for ($i = 0; $i <= count($sonuc); $i++) { // En fazla kaç tane kelime anlamı dönsün limiti. Yani eş anlamlı kaç kelime görünsün. Verdiğim hak örneği, hâk ve ikinci sırada bulunan hak kelimesini döndürür varsayılan 2 ile
        if ($kelimeLimit !== true) {if ($i == $kelimeLimit) break; }
        if (isset($sonuc[$i])) {
            $madde = mb_ucfirst($sonuc[$i]['madde']);
            $return[$sonuc[$i]['kac']]['kelime'] = $madde;
            for ($j = 0; $j < count($sonuc[$i]['anlamlarListe']); $j++) {
                if ($j == $anlamLimit) break;
                if (isset($sonuc[$i]['anlamlarListe'][$j])) {
                    $return[$sonuc[$i]['kac']]['anlamlar'][$j] = [
                        'anlam' => $sonuc[$i]['anlamlarListe'][$j]['anlam'],
                        'ozellik' => $sonuc[$i]['anlamlarListe'][$j]['ozelliklerListe'][0]['tam_adi'] ?? null // Sadece ilk sıradaki özelliğin değeri
                    ];
                }
            }
            $birlesikler = $sonuc[$i]['birlesikler'];
            if (strlen($birlesikler)) {
                $explode = explode(', ', $birlesikler);
                $return[$sonuc[$i]['kac']]['birlesikler'] = array_slice($explode, 0, $benzerLimit); // Birleşik kelimelerden en fazla kaç tane geri dönsün
            }
        }
    }
    return $return;
}

$h = TDKSozluk(htmlspecialchars($_GET['q']), 2, 1, 5);
print_r($h);


if (count($h)) {
 
}
else {

}

Merhabalar, Abdullah hocam sayesinde kodum hazır. TDK'dan veri çekiyoruz. Bunu nasıl if ile echo yani, düzenleyip veriyi işleyebiliriz ?

erdal42
773 gün önce

Evet hocam, oldu. Son olarak bu kodlara nasıl div verebiliriz. Verince hata veriyor. Düzeltmeye çalışınca yine aynı. Yani sadece kelimelere verince tüm içindeki kelime anlam vs etkin oluyor. Ayrı ayrı div vermem gerekiyor. Son kaldı sadece :)

        $anlamlar .= li(i($anlam["ozellik"]).span($anlam["anlam"]));
    };
    foreach($item["birlesikler"] as $birlesik) {
        $birlesikler .= li(span($birlesik));
    };
    $kelimeler .= div(
        div(strong("Kelime: ").span($item["Kelime"]))
        .section(div(strong("Anlamlar")).ul($anlamlar))
        .section(div(strong("Birleşikler")).ul($birlesikler))