Sorununuzun nedeni,
/
karakterinin bir özel karakter olduğu ve dizelerin içinde kullanıldığında genellikle özel bir anlama sahip olduğudur. Bu nedenle, dizi içinde/
karakteri bulunan bir öğeyi doğrudan karşılaştırırken bu karakteri dikkate almanız gerekir. Aksi takdirde,/
karakteri diziyi ayrılmış iki öğeye bölecektir.Bu şekilde,
/
karakteri içeren öğeleri karşılaştırırken her öğeyi ayrı ayrı kontrol edebilirsiniz.in_array
fonksiyonu, belirtilen öğenin dizide bulunup bulunmadığını kontrol eder.
Bu sorunu aşmak için, dizi içindeki öğeleri doğru şekilde karşılaştırmak için PHP'nin
in_array
fonksiyonunu kullanabilirsiniz. İşte örnek bir kod:$a = array("PHP", "ASP", "Bilgisayar / Yazılım", "CSS"); $b = "Bilgisayar / Yazılım"; if (in_array($b, $a)) { echo "Eşleşme bulundu."; } else { echo "Eşleşme bulunamadı."; }
Yardımcı olduğunuz için çok teşekkürler hocam. Dediğiniz şekilde kodda değişiklik yaptım ama yine olmadı. Bu şekilde hata veriyor. $AraciKurumlar[$b] buranın altını da kırmızı ile çizdi kodu yazdığımda.
Fatal error: Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, string given in C:\wamp64\www\2023borsadeneme\sektorler.php on line 153
Kodlarımdan şu şekilde
<?php
while ($a < count($sektor)) {
if (in_array($sektor[$a], $AraciKurumlar[$b])) /* ($sektor[$a] == $AraciKurumlar[$b]) */ {
?>
<tr>
<td><?php echo $Kod[$a]; ?></td>
<td><?php echo $PDDD[$a]; ?></td>
<td><?php echo $FK[$a]; ?></td>
<td><?php echo $FDFavok[$a]; ?></td>
<td><?php echo $FDSatislar[$a]; ?></td>
</tr>
<?php
}
$a++;
}