v2.5.2
Giriş yap

Diziyi Bölüp Foreach İle Döndürme

redline
287 defa görüntülendi ve 2 kişi tarafından değerlendirildi
<?php

$dizi = [
  "Dizi Elemanı (1)" => "Dizi Eleman İçeriği (1)",
  "Dizi Elemanı (2)" => "Dizi Eleman İçeriği (2)",
  "Dizi Elemanı (3)" => "Dizi Eleman İçeriği (3)",
  "Dizi Elemanı (4)" => "Dizi Eleman İçeriği (4)",
  "Dizi Elemanı (5)" => "Dizi Eleman İçeriği (5)",
  "Dizi Elemanı (6)" => "Dizi Eleman İçeriği (6)",
  "Dizi Elemanı (7)" => "Dizi Eleman İçeriği (7)",
  "Dizi Elemanı (8)" => "Dizi Eleman İçeriği (8)",
  "Dizi Elemanı (9)" => "Dizi Eleman İçeriği (9)",
  "Dizi Elemanı (10)" => "Dizi Eleman İçeriği (10)",
  "Dizi Elemanı (11)" => "Dizi Eleman İçeriği (11)"
];

?>

<!-- İLK 5 DİZİ ELEMANI LİSTELEME (BAŞLANGIÇ) -->

<ul>
  <li>
    <!-- İlk 5 dizi elemanı döndürülecek. -->
  </li>
</ul>

<!-- İLK 5 DİZİ ELEMANI LİSTELEME (BİTİŞ) -->

<!-- İLK 5 DİZİ ELEMANINDAN SONRAKİ ELEMANLARI LİSTELEME (BAŞLANGIÇ) -->

<ul>
  <li>
    <!-- İlk 5 elemandan sonraki dizi elemanları döndürülecek. -->
  </li>
</ul>

<!-- İLK 5 DİZİ ELEMANINDAN SONRAKİ ELEMANLARI LİSTELEME (BİTİŞ) -->

Merhaba PT.

Yukarıda örnek olarak verdiğim bir durum var. Elimde içerik sayısı belli olmayan bir dizi var. Aynı sayfa içerisinde bu dizinin ilk 5 elemanını bir yerde, kalan elemanlarını da başka bir yerde döndürmem gerekiyor.

Yardımlarınız için şimdiden teşekkürler. :)

Cevap yaz
Cevaplar (2)
recepkaramanli61
667 gün önce

Bu şekilde yapabilirsin.


<?php

$dizi = [
  "Dizi Elemanı (1)" => "Dizi Eleman İçeriği (1)",
  "Dizi Elemanı (2)" => "Dizi Eleman İçeriği (2)",
  "Dizi Elemanı (3)" => "Dizi Eleman İçeriği (3)",
  "Dizi Elemanı (4)" => "Dizi Eleman İçeriği (4)",
  "Dizi Elemanı (5)" => "Dizi Eleman İçeriği (5)",
  "Dizi Elemanı (6)" => "Dizi Eleman İçeriği (6)",
  "Dizi Elemanı (7)" => "Dizi Eleman İçeriği (7)",
  "Dizi Elemanı (8)" => "Dizi Eleman İçeriği (8)",
  "Dizi Elemanı (9)" => "Dizi Eleman İçeriği (9)",
  "Dizi Elemanı (10)" => "Dizi Eleman İçeriği (10)",
  "Dizi Elemanı (11)" => "Dizi Eleman İçeriği (11)"
];

$dizi_uzunluk = count($dizi);
$kac_beslik = Ceil($dizi_uzunluk/5);
$arttir = 0;

for ($i=0; $i<$kac_beslik; $i++) {
	$yeniarr = array_slice($dizi,$arttir,5);
    $arttir = $arttir+5;
    echo "<ul>";
    foreach ($yeniarr as $val) {
    	echo "<li>".$val."</li>";
    } 
    echo "</ul>";
}

?>
ehurkan
667 gün önce

array_slice ile yapabilirsin diye düşünüyorum.