v2.5.2
Giriş yap

Arrayları echo dönüştürme

erdal42
400 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 ?

ebykdrms
773 gün önce
echo "<div class='kelimeler'>";
foreach($h as $item) {
    echo "<div class='kelimeKapsayici'>";
    $kelime = $item["kelime"];
    echo "  <div class='kelime'>";
    echo "    <div>Kelime:</div>";
    echo "    <div>$kelime</div>";
    echo "  </div>";
    
    echo "  <div class='anlamlar'>";
    echo "    <div>Anlamlar</div>";
    
    if(isset($item["anlamlar"]) && is_array($item["anlamlar"])) {
        foreach($item["anlamlar"] as $anlam) {
            $anlamStr = $anlam["anlam"];
            $ozellik = $anlam["ozellik"];
            echo "<div class='anlam'>";
            echo "  <div>";
            echo "    <div>Özellik:</div>";
            echo "    <div>$ozellik</div>";
            echo "  </div>";
            echo "  <div>";
            echo "    <div>Anlam:</div>";
            echo "    <div>$anlamStr</div>";
            echo "  </div>";
            echo "</div>";
        };
    }
    else echo "<div>Anlam bulunamadı</div>";
    echo "</div>";
    
    echo "<div class='birlesikler'>";
    if(isset($item["birlesikler"]) && is_array($item["birlesikler"])) {
        foreach($item["birlesikler"] as $birlesik) {
            echo "<div>$birlesik</div>";
        };
    }
    else echo "<div>Birleşikler bulunamadı</div>";
    echo "</div>";
    echo "</div>";
    echo "<hr />";
};
echo "</div>";