• 19-04-2021, 12:32:07
    #1
    Selam Arkadaşlar php pathinfo() kullanarak dosya ve yolu hakkındaki bilgileri alıyorum ve
    bu bilgiler array dizininde varsa alıyorum yoksa false döndürmem gerek fakat array dizisinin içinden "extension " olmasına rağmen sürekli yok diye döndürüyor

    $exten = pathinfo("resimler/ornekresim.css");
    
        if (in_array("extension", $exten)) {
            echo "var";
        }else{
            echo "yok";
        }
    Array ( [dirname] => resimler [basename] => ornekresim.css [extension] => css [filename] => ornekresim )
  • 19-04-2021, 12:40:56
    #2
    Üyeliği durduruldu
    Merhaba. PHP'de array'de key ve value olarak 2 farklı değerimiz var. PHP'de array elemanlarına erişirken keyleri kullanırız. Örneğin array'ımız ['test', 'deneme', 'example'] olduğunda elemanların keyleri sırasıyla 0, 1, 2 olur. PHP bunu otomatik ayarlar.

    Ayrıca PHP bize keyleri kendimizin belirleme fırsatını da verir. Sizin eklediğiniz kod parçasında array şu şekildedir:

    [
    'dirname' => 'resimler',
    'basename' => 'ornekresim.css',
    'extension' => 'css',
    'filename' => 'ornekresim'
    ]

    Burada koyu olarak belirttiklerim keylerdir, sağ taraftaki ise value değerleridir. in_array fonksiyonu value'ler arasında kontrol yapar. Siz burada keylerin arasında sorgulama yapmak istiyorsunuz, birden fazla çözüm var. Çözümleri detaylı açıklamayacağım, internetten bakabilirsiniz.

    in_array("extension", $exten) yerine:

    1. isset($exten['extension'])
    2. in_array('extension', array_keys($exten))
    3. array_key_exists('extension', $exten)

    yazarsanız sorunsuz çalışacaktır.
  • 19-04-2021, 12:44:51
    #3
    3. array_key_exists('extension', $exten)

    hocam doğru ya array_key_exists() çalıştı eyvallah çok teşekkürler