lostyazilim
tr.link

içerikte / işareti olduğu için arama yapamıyorum

5 Mesajlar 788 Okunma
lstbozum
tr.link

melihonline melihonline WM Aracı Kullanıcı
  • Üyelik 24.11.2018
  • Yaş/Cinsiyet 39 / E
  • Meslek Bilgisayar Teknikeri
  • Konum Antalya
  • Ad Soyad M** K**
  • Mesajlar 91
  • Beğeniler 8 / 7
  • Ticaret 0, (%0)

Merhaba arkadaşlar. Aşağıdakine benzer kodlarım var. Döngüye sokuyorum. a değişkeni sürekli artarak b değişkeni ile eşitlik olup olmadığına bakıyorum. Sıra Bilgisayar / Yazılım elemanına geldiğinde eşitlik bulamıyor. $b nin içinde o değer kesin var. Ama bulamıyor boş dönüyor. Ben slas işaretinden olur diye düşünüyorum. Sizce de öyle ise bu sorunu nasıl aşabilirim?

$a = array(PHP, ASP, Bilgisayar / Yazılım, CSS);

if ($b == $a) {

echo....

}

Mesaj 1 defa düzenlendi. Son düzenleyen: melihonline (25.09.2023 23:30)

 

 

wmaraci
reklam

OFffLaZZzz OFffLaZZzz WM Aracı Kullanıcı
  • Üyelik 16.06.2023
  • Yaş/Cinsiyet 40 / E
  • Meslek Esnaf
  • Konum Trabzon
  • Ad Soyad M** K**
  • Mesajlar 28
  • Beğeniler 10 / 13
  • Ticaret 0, (%0)

melihonline adlı üyeden alıntı

Merhaba arkadaşlar. Aşağıdakine benzer kodlarım var. Döngüye sokuyorum. a değişkeni sürekli artarak b değişkeni ile eşitlik olup olmadığına bakıyorum. Sıra Bilgisayar / Yazılım elemanına geldiğinde eşitlik bulamıyor. $b nin içinde o değer kesin var. Ama bulamıyor boş dönüyor. Ben slas işaretinden olur diye düşünüyorum. Sizce de öyle ise bu sorunu nasıl aşabilirim?

$a = array(PHP, ASP, Bilgisayar / Yazılım, CSS);

if ($b == $a) {

echo....

}

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ı."; }

 

 

 

OFffLaZZzz OFffLaZZzz WM Aracı Kullanıcı
  • Üyelik 16.06.2023
  • Yaş/Cinsiyet 40 / E
  • Meslek Esnaf
  • Konum Trabzon
  • Ad Soyad M** K**
  • Mesajlar 28
  • Beğeniler 10 / 13
  • Ticaret 0, (%0)

melihonline adlı üyeden alıntı

Merhaba arkadaşlar. Aşağıdakine benzer kodlarım var. Döngüye sokuyorum. a değişkeni sürekli artarak b değişkeni ile eşitlik olup olmadığına bakıyorum. Sıra Bilgisayar / Yazılım elemanına geldiğinde eşitlik bulamıyor. $b nin içinde o değer kesin var. Ama bulamıyor boş dönüyor. Ben slas işaretinden olur diye düşünüyorum. Sizce de öyle ise bu sorunu nasıl aşabilirim?

$a = array(PHP, ASP, Bilgisayar / Yazılım, CSS);

if ($b == $a) {

echo....

}

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ı.";
}

 

Mesaj 1 defa düzenlendi. Son düzenleyen: OFffLaZZzz (13.10.2023 09:44)

 

 

melihonline melihonline WM Aracı Kullanıcı
  • Üyelik 24.11.2018
  • Yaş/Cinsiyet 39 / E
  • Meslek Bilgisayar Teknikeri
  • Konum Antalya
  • Ad Soyad M** K**
  • Mesajlar 91
  • Beğeniler 8 / 7
  • Ticaret 0, (%0)

OFffLaZZzz adlı üyeden alıntı

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++;
}

Mesaj 1 defa düzenlendi. Son düzenleyen: melihonline (17.10.2023 16:08)

 

 

wmaraci
wmaraci

OFffLaZZzz OFffLaZZzz WM Aracı Kullanıcı
  • Üyelik 16.06.2023
  • Yaş/Cinsiyet 40 / E
  • Meslek Esnaf
  • Konum Trabzon
  • Ad Soyad M** K**
  • Mesajlar 28
  • Beğeniler 10 / 13
  • Ticaret 0, (%0)

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.

 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al