Array birleştirmeyle ilgili iki farklı fonksiyonu aşağıda yazdım. Ancak
yapmak istediğini biraz daha detaylı anlarsam daha güzel bir cevap
verebileceğimi düşünüyorum. Anladığım kadarıyla

* 3 farklı tablon var
*isimler 1. tabloda.
*maaşlar 2. tabloda
*günler 3. tabloda

ilk tablodaki isimlerin ikinci tablodaki maaşlara eşit olduğu kayıtları
çekiyorsun. ayrıca 3. tablodaki günleri de alıp topluyorsun. Doğru mudur?
Kaynak: http://www.php.net/manual/en/function.array-combine.php
Kaynak: http://www.php.net/manual/en/function.array-merge.php

array *array_combine* ( array $keys , array $values )
ilk array'deki anahtarları, ikinci arraydeki değerlerle birleştirir.

 <?php
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

print_r($c);
?>

Çıktısı şöyle olur:

Array
(
    [green]  => avocado
    [red]    => apple
    [yellow] => banana
)


array *array_merge* ( array $array1 [, array $array2 [, array $... ]] )

her array'in sonuna bir sonraki array eklenmiş haliyle yeni bir array
döndürür.

 <?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

Çıktısı şöyle olur:

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)





11 Ocak 2011 22:37 tarihinde Coskun <[email protected]> yazdı:

> Arkadaşlar Selam,
>
> Bir şey soracaktım,
>
> Örnek vererek anlatıcam, iki SQL sorgum var. Birisinde SUM fonksiyonu
> kullandığımdan, istediğim sonucu bir seferde alamıyorum .
>
> 1-
> Select tablo1.isim, tablo2.maas
>  From tablo1, tablo2
> where tablo1.isim = tablo2.maas
>
> 2-
> Select sum(tablo3.gun), tablo1.isim
> from tablo1, tablo2
> where tablo1.isim = tablo3.isim
>
> İlk sorum, bu yaptığım tek sorguda yapılabilir miydi?
> Eğer yapılamıyorsa, bunu PHP'de şöyle yapmayı düşünmüştüm. Fakat kod olarak
> yardıma ihtiyacım var. Birinci sorguda 10000 kayıt dönüyor, diğeri 1000
> tane:
>
> Birinci sorgunun sonucunu bir diziye, ikinci sorgunun sonucunu ikinci
> diziye aktarıp; sonra bunları üçüncü bir dizide birleştirerek, istediğim
> sonuca ulaşıcam.
>
> Yani, algoritma şöyle olucak sanki, fakat eminim siz daha güzel bişey
> önerirsiniz:
>
> Loop at dizi1
>    Loop at dizi 2
> if dizi1.isim = dizi2.isim
>      dizi3.isim = dizi1.isim;
>     dizi3.gun = dizi2.gun
>    dizi3.maas = dizi1.maas
> endloop
> endloop
>
> Şimdiden teşekkürler, tekrar selamlar.
>
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
>
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap