arraypush Hakkında

bgunduz1395
03-06-2012, 11:49   |  #1  
bgunduz1395 avatarı
OP Taze Üye
Teşekkür Sayısı: 0
17 mesaj
Kayıt Tarihi:Kayıt: Haz 2012

$eski_dizi = array ("Ömer","Ayşe","Fatma");
$son_dizi = array_push($eski_dizi,"Burak","Gül","Nergis");
           
    print ("\$son_dizi adlı dizide, $son_dizi adet eleman bulunmaktadır.");
    print ("\$eski_dizi adlı dizide, " .count($eski_dizi). " adet eleman bulunmaktadır.");

foreach ($eski_dizi as $eleman) {
        print ("$eleman<br/>");       
    }
   
    print ("<br/>");
   
foreach ($son_dizi as $eleman2) {
       print ("$eleman2<br/>");       
    }
-------
Öncelikle merhaba,
Php dizi editleme ile ilgili array_push fonksiyonu hakkında bir sorum olacaktı.
Yukarıda belirttiğim kodda array_push'un mantığını tam olarak kavrayamadım.
$eski_dizi içerisine mi ekleniyor, yoksa 6 elemanlı dizimiz bu işlemden sonra $don_dizi mi olacak anlamadım.

Bunu test etmek için 'foreach' döngüsüne her ikisini de aldım. Ve bunun sonucunda sadece $eski_dizi'nin çalıştığını gördüm (6 elemanıda gösteriyor.) Fakat $son_dizi hiçbir şey göstermemekte.

count() fonksiyonuna gelince şu durumda her iki dizide de 6 eleman olduğunu yazıyor.
Son diziyi bu şekilde yazarsam:
print ("\$son_dizi adlı dizide, ". count($son_dizi) ." adet eleman bulunmaktadır.<br/>");
1 eleman bulunduğunu söylemekte.

En üstteki kodları ele aldığımızda bunun mantığı nedir. Kodun yazımındaki hatalarım neler, açıklayabilirseniz sevinirim. Kafam biraz karıştıda :)

Son Düzenleme: bgunduz1395 ~ 03 Haziran 2012 11:53
Kapalı Hesap (153535)
04-06-2012, 00:26   |  #2  
Kapalı Hesap
Teşekkür Sayısı: 27
2,297 mesaj
Kayıt Tarihi:Kayıt: Eki 2009

<?php
$eski_dizi = array("Omer","Ayse","Fatma");
$son_dizi = array_push($eski_dizi,"Burak","Gul","Nergis");


foreach($eski_dizi as $eleman) {
        echo "$eleman<br/>";        
    }

   
echo "<br/>";
echo $son_dizi;


?>

Yukarıdaki kodu yazıp çalıştırdığınızda problem çözülecektir.array_push fonksiyonun yaptığı işlem dizinin sonuna fonksiyona parametre olarak gönderilen elemanları dizinin(parametre olarak belirtilen) sonuna eklemek.(yani değişiklik yine parametre olarak gönderdiğimiz dizi değişkeninde oluyor.)Ayrıntılı bilgi için:http://php.net/manual/en/function.array-push.php sitesine bakabilirsiniz. Fonksiyonun(array_push) atandığı değişken integer tipinde değer taşıyor(diğeri ise array tipinde) foreach döngüsü ile yazdığınız şekilde bir sonuç alamamanızın(hata vermesinin) nedeni bu.
Kodun çıktısı:

Omer
Ayse
Fatma
Burak
Gul
Nergis

6

Başarılar,

Son Düzenleme: Kapalı Hesap (238658) ~ 04 Haziran 2012 01:00
Kapalı Hesap (238658) bu faydalı yanıtı için aşağıdaki 1 kişiden teşekkür aldı... [ Göster ]
bgunduz1395
04-06-2012, 18:24   |  #3  
bgunduz1395 avatarı
OP Taze Üye
Teşekkür Sayısı: 0
17 mesaj
Kayıt Tarihi:Kayıt: Haz 2012

@cs87: Açıklamanız için teşekkür ederim. Şimdi gayet iyi anladım, sağolun.

Son Düzenleme: bgunduz1395 ~ 04 Haziran 2012 18:25