Arrayları echo dönüştürme
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 ?
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 "</div>";