İlginizi Çekebilir
PHP Class Kullanımı
  1. Ana Sayfa
  2. PHP

PHP “invalid argument supplied for foreach()” Hatası Çözümü

PHP “invalid argument supplied for foreach()” Hatası Çözümü
HP invalid argument supplied for foreach() Hatası Çözümü
+ - 0

Merhaba, PHP yazılarımla bloguma devam ediyorum. Bu yazımda PHP “invalid argument supplied for foreach()” Hatası Çözümü ‘ne bakacağız.

 

PHP “invalid argument supplied for foreach()” Hatası Çözümü

 PHP‘nin yerleşik foreach() istemi, bir dizi veya nesne olarak tanınmayan bir veri yapısı üzerinde yineleme yapmaya çalıştığında ortaya çıkar.

Aşağıdaki kod parçasına bir bakalım.

 

<?php 
function getList () {
  // Burada bir hata oluştuğunu ve bir liste/dizi yerine bir boolean FALSE döndürüldüğünü varsayın.
  return false;
}

// Diziyi bir işlev çağrısından alın.
$myList = getList();

// $myList dizisinde dolaşın.
foreach($myList as $arrayItem)
{
  //Birşeyler yap.
}
?>

Hata, getList() işlevin bir dizi yerine bir bool değeri döndürmesi nedeniyle oluştu. foreach() Komut yalnızca diziler veya nesneler üzerinde yinelenebilir . foreach() Bu hatayı çözmek için, hatanın önüne geçilebilmesi için fonksiyondan önce bir kontrol yapın. Bu çözüm aşağıdaki kodda gösterilmiştir:

 

<?php 

function getList () {
  // Burada bir hata oluştuğunu ve bir liste/dizi yerine bir boolean FALSE döndürüldüğünü varsayın.
  return false;
}

// Diziyi bir işlev çağrısından alın.
$myList = getList();

// $myList'in gerçekten bir dizi mi yoksa bir nesne mi olduğunu kontrol edin.
if (is_array($myList) || is_object($myList))
{
  // Evetse, foreach() üzerinde yinelenir.
  foreach($myList as $arrayItem){
      //Birşeyler yap
  }
}
else // $myList bir dizi değilse, bu blok yürütülür.
{
  echo "Maalesef bir hata oluştu.";
}
?>

Bu şekilde bu hatanın önüne geçebilirsiniz. Yada foreach() ile kullanacağınız değişkenin bir dizi olduğundan veya doğru bir şekilde doldurulduğundan emin olun.

Ben genelde veri tabanından verileri çekip göstermek istediğimde ama veri gelmediği durumlarda yaşıyorum. Aslında her şey normal görünüyor ama veri tabanından gelen veri olmadığı için foreach() ile kullandığım değişkenim boş kalıyor ve hata veriyor.


PHP “invalid argument supplied for foreach()” Hatası Çözümü yazımda bu kadardı. Diğer yazılarda görüşmek üzere….

PHP Dersleri için başlattığım repoya bağlantıya tıklayarak ulaşabilirsiniz. Tüm PHP yazılarım için tıklayabilirsiniz.

Kodla kalın. :)

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)