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.