melihonline adlı üyeden alıntı
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++;
}
Hata, in_array
fonksiyonunun ikinci argümanının bir dizi olması gerektiğini belirtiyor. Ancak $AraciKurumlar[$b]
ifadesi, muhtemelen bir dizi yerine bir dize (string) içeriyor. Bu nedenle hata alıyorsunuz.
Eğer $AraciKurumlar[$b]
bir dizi içermesi gerekiyorsa ve her bir elemanı bir sektörü temsil ediyorsa, aşağıdaki gibi düzeltilmiş bir kod kullanabilirsiniz:
<?php
while ($a < count($sektor)) {
if (in_array($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++;
}
?>
Bu kod, $sektor
dizisindeki elemanın $AraciKurumlar[$b]
dizisi içinde bulunup bulunmadığını kontrol eder. Eğer $AraciKurumlar[$b]
bir dizi içermiyor veya elemanlarının tipleri uyumsuzsa, bu hatayı düzeltmek için $AraciKurumlar[$b]
dizisinin doğru bir şekilde tanımlandığından ve elemanların doğru veri türüne sahip olduğundan emin olmalısınız.