Konular

EBooklar

PHP’de array tanımlayıcısını kullanarak içerisinde elemanları yerleştirmek yoluyla ya da index numarasını köşeli parantezler içerisinde belirterek atama yaparak dizi oluşturmak mümkündür

www.dijitalders.com
<?php

        //Dizi tanımlama
       
        $dizim = array(1,3,5,7,12,8645);                //Sayısal dizi tanımlama yollarından biri
       
        $stringim = array("Str1","Str2","Str3");        //String dizi tanımlama yollarından biri
       
        $dizim[6]=131;          //1.boyutta eleman ekleme
        $dizim[123]=55;        
       
       
        // dizi $dizim = array(1,3,5,7,12,8645,131,123=>55); halini alıyor
       
        $cokBoyut = array("kisisel"=>"indexTanımı",array(1,77,3),5,array(array(3,4),3,array("hmm")));
       
        print_r($cokBoyut);
       
        /*
       
        $cokBoyut["kisisel"]="indexTanımı";
        $cokBoyut[0][0]=1;
        $cokBoyut[0][1]=77;
        $cokBoyut[0][2]=3;
        $cokBoyut[1]=5;
        $cokBoyut[2][0][0]=3;
        $cokBoyut[2][0][1]=4;
        $cokBoyut[2][1]=3;
        $cokBoyut[2][2][0]="hmm";
       
        */


        $kucukHarf = range("a","z");    // $kucukHarf = array("a","b","c",...,"v","y","z");
       
        $rakamlar = range(0,9);                 // $rakamlar = array(0,1,2,3,4,5,6,7,8,9);
       
        $tekRakamlar = range(1,9,2);    // $tekRakamlar = array(1,3,5,7,9);
       
        $ciftRakamlar = range(0,9,2);   // $ciftRakamlar = array(0,2,4,6,8);
       
?>
    İlk önce oluşturduğumuz sayi dizimiz olan $dizim dizi değişkeni, array kelimesi ile oluşturulmuş olup sonradan 6 numaralı index’ine 131 değeri atanmıştır. (bkz. Satır 9)

    Hemen ardından index bağımsızlığını göstermek için 123 numaralı index’e 55 değeri atanmıştır. (bkz. Satır 10)

    Dizinin array metodu ile yazımı ise satır 13’teki şekli alacaktır.

    Satır 15’e bakacak olursak burada bir çok boyutlu dizi tanımlaması array yöntemi ile nasıl yapılır görüyoruz… Burada dizinin ilk elemanı kisisel index’i ile tanımlandığı için hemen ardından gelen tanımlamasız atamanın index değeri 0’dan başlayacaktır. Index’i 0 olan değer de array olarak atandığı için bu 2.elemanın, eleman sayısı kadar o diziye boyut kazandıracağını belirtir. Burada 2 elemanlı 0 index’inde tanımlanmış olan array, ana array’e 2.boyut kazandırmaktadır. Ancak sadece 0 index’inde tanımlı bir 2. boyut yükselmesi olduğu için $cokBoyut[“kisisel”][0] değerine ulaşılmak istendiğinde sonuç tanımsız olacaktır.
Satır 19 ve 31 arasında bu dizinin atama yoluyla nasıl tanımlanacağı gösterilmiştir.
   
    33,35,37 ve 39.satırlarda range fonksiyonu yardımıyla nasıl bir dizi oluşturacağınız gösterilmiştir. Bu belirli aralıktaki değerler ile bir dizi oluşturmak istediğiniz zaman size yardımcı olacaktır. Range fonksiyonuna değinmek gerekirse; dizinin başlangıç değeri ilk parametre olarak girilir, bitiş değeri son parametre. Opsiyonel olarak artış miktarı girilir. Burada tek ve çift rakam dizilerini oluşturmak için bu opsiyonu kullandık..

Farklı index tanımlamaları ile çalışmak
 
<?php
//Sayısal indexli diziler
       
        $sayisalIndex = array(1=>"Birincil",
                                                        2=>"İkincil",
                                                        3=>"Üçüncül",
                                                        4=>444);

        echo "<br><br>";
        print_r($sayisalIndex);         //Array ( [1] => Birincil [2] => İkincil [3] => Üçüncül [4] => 444 )
       
       
        //String indexli diziler
       
        $stringIndex = array("bir"=>1,
                                                        "iki"=>2,
                                                        "uc"=>3,
                                                        "dort"=>4);

        echo "<br><br>";
        print_r($stringIndex);          //Array ( [bir] => 1 [iki] => 2 [uc] => 3 [dort] => 4 )
       
       
        //Karma bir örnek
       
        $karma = array("array"=>array("stringindexliarray"=>"birinci eleman","ikincielemanrakam"=>2),
                                        "tekeleman"=>1,
                                        "yinearray"=>array(1=>array(1,3),"iki"=>2),
                                        "soneleman"=>"son");

        echo "<br><br>";                                       
        print_r($karma);        //Array ( [array] => Array ( [stringindexliarray] => birinci eleman [ikincielemanrakam] => 2 ) [tekeleman] => 1 [yinearray] => Array ( [1] => Array ( [0] => 1 [1] => 3 ) [iki] => 2 ) [soneleman] => son )

?>
     PHP dizi oluştururken elemanlarınızın index değerlerini kendinizin vermenize olanak sağlar. Böylece daha esnek diziler yaratabilirsiniz.

    Satır 43’e bakacak olursak oluşturduğumuz dizi 1 numaralı index’ten başlatılmıştır. Bu gibi farklı index numaraları kullanmak istediğiniz zaman bu yolu tercih edebilirsiniz, aksi durumda zaten sıfırdan başlayacak index numaraları ile çalışacaksanız, bu tanımlamaları yapmadan elemanlarınızı girebilirsiniz.

    Satır 54 hizasında görülebilecek tanımlamada ise index değerlerinde string ifadeler kullanılmıştır. Satır 60’ta print_r ile elde edilen dizi düzeni çıktısını görebilirsiniz…

    65.satırda ise tüm bu özelliklerin bir arada kullanıldığı bir dizi yaratılmıştır. Görüldüğü gibi array indexine sahip değer yine 2 elemanlı bir dizidir ve bu dizinin de index tanımlamaları string tipinde yapılmıştır. Devam eden tanımlamalar da bunun gibidir. print_r ile başarılı bir çıktı alarak PHP’nin bu sözdizimini destekliğini görüyoruz.
 
Dizi elemanlarını listeleme – foreach

    PHP for döngüsünde farklı olarak foreach döngü metodunu desteklemektedir. Bu yöntemi kullanarak dizi değişkenlerinizi listelemeniz mümkün. Önceki örnekten devam ederecek $karma dizimizi listeleteceğiz;
 
<?php

    echo "<br><br>";

    foreach ($karma as $eleman){

        echo "$eleman <br />";
                       
    }
?>
   
 
  Yukarıdaki kod ile $karma dizisinin her elemanı $eleman olarak alınarak basılacaktır. Burada $karma dizimizde sadece 2.elemanımız tek bir eleman olduğu için dönecek sonuç “ Array 1 Array Array” şeklinde olacaktır. Kodumuzu buna göre güncellersek;

<?php
echo "<br><br>";
        foreach ($karma as $eleman)
        {
                foreach($eleman as $Index=>$ic)
                {
                        echo $Index." ".$ic."<br>";
                }
                       
        }
?>
  
      Gelen hatalardan da anlaşılacağı gibi ikinci foreach bloğumuzun bilgi çekemediği düzeylerin olması sebebiyle dizi tamamen basılamamıştır. Bu gibi düzenli döngüleri kullanabilmek için aynı düzende diziler tanımlamanız gerekmektedir. Görüntüleyebildiğimiz boyutlardaki elemanlarına index numaralarını da foreach içerisindeki ekstra bir ifade ile çekebiliriz.(bkz. Satır 76)
 
Dizi elemanlarını değişkenlere eşleme

    List fonksiyonu ile bir dizideki elemanları belirtilen değişkenlere aktarabilirsiniz..

<?php

$liste = array("Cola","Kahve","Su");
       
list($zararli,$idareEder,$hayati) = $liste;
       
echo $zararli."  ".$idareEder."  ".$hayati;             //Cola Kahve Su

?>
       Örnekte görülen $liste dizisi (bkz.satır 83) 3 eleman barındırmaktadır ve daha sonra list fonksiyonu ile eşleneceği değişkenler belirtilerek değerler değişkenlere otomatik aktarılmıştır…
 
<?php
$Ornek=array("bir", "iki", "uc");

$ornek['elma']="bir";
$ornek['armut']="bir buçuk";
$ornek['muz']="iki";
$ornek['dut']="uc";
$ornek['nar']="dort";

$ornek['istanbul'][]="şirinevler";
$ornek['istanbul'][]="bahçelievler";
$ornek['istanbul'][]="bakırköy";

$Ornek=array('istanbul'=>array('sirinevler', 'bahcelievler', 'bakirköy'),
                'ankara'=>array('kızılay', 'yenimahalle', 'çankaya') );

$ornek['ankara'][]="kızılay";
$ornek['ankara'][]="yenimahalle";
$ornek['ankara'][]="çankaya";

    $sepet=array('Kategori'=>array('Bilgisayar','Evelektronigi','Ceptelefonu'),
                'Altkategori'=>array('Anakart','Isıtıcılar','Kameralı'),
                'Urun'=>array('AsusP400','arzumD356','Nokia n90'),
                'Fiyat'=>array('60','80','600'),
                'Cins'=>array('ytl','Euro','$')
                );
   
   
    $sepetiki['Kategori'][]='Bilgisayar';
    $sepetiki['Kategori'][]='Evelektronigi';
    $sepetiki['Kategori'][]='Ceptelefonu';
           
            $sepetiki['AltKategori2'][]='Ekran Kartı';
            $sepetiki['AltKategori2'][]='Isıtıcılar';
            $sepetiki['AltKategori2'][]='Kameralı';
               
                $sepetiki['Urun2'][]='Kingston';
                $sepetiki['Urun2'][]='ArzumD356';
                $sepetiki['Urun2'][]='Nokia n90';
                   
                    $sepetiki['Ucret'][]='60';
                    $sepetiki['Ucret'][]='80';
                    $sepetiki['Ucret'][]='600';
   
                        $sepetiki['Tur'][]='ytl';
                        $sepetiki['Tur'][]='euro';
                        $sepetiki['Tur'][]='$';
   
print_r($sepet);
   
print_r($sepetiki);

   
foreach($sepet as $Index=>$Eleman){
    echo "<br />$Index : $Eleman[0]";
}

print_r($Yenidizi);

$Dizi=array(    array('Bilgisayar','Evelektronigi','Ceptelefonu'),
                array('Anakart','Isıtıcılar','Kameralı'),
                array('AsusP400','arzumD356','Nokia n90'),
                array('60','80','600'),
                array('ytl','Euro','$')
                );
           
Bir dizinin elemanlarını değişkene dönüştürmek istersek
   
list($bir, $iki)=$Dizi[0];


$Sehirler=array('istanbul'=>array('sirinevler', 'bahcelievler', 'bakirköy'),
                'ankara'=>array('kızılay', 'yenimahalle', 'çankaya') );
               
list($Index, $DizininParcasi)=each($Sehirler);

?>
 
 
Kaynak Baturay DAYLAK

Yorumunuzu Ekleyin





  • Kurallı İfadeler (regex Engine)
  • Kurallı İfadeler (regex Engine) ~ 34,525

    Bir regex'in gerçekte nasıl çalıştığını bilmek daha efektif çalışan regex ifadeleri oluşturmamızı ve regex'leri daha isabetli oluşturmamızı sağlar. Bu yazımızda oluşturduğunuz regex ifadelerinin neden beklediğiniz sonuçları vermediğini ve umduğunuz eşleşmeleri yerine getirmediğini öğreneceksiniz. Bu da bizim tabir yerindeyse daha az kafa patlatmamızı ve daha az zaman harcamamızı sağlayacaktır.



  • PHP ile PDF dosya oluşturmak
  • PHP ile PDF dosya oluşturmak ~ 27,578

    Php ile yeni bir pdf dosyası oluşturmak : Öncelikle php ile pdf işlemleri yapmak için bir pdf kütüphanesine ihtiyacınız olacak



  • PHP nedir?
  • PHP nedir? ~ 26,349

    HTML kodlarının arasına yerleştirilmiş php kodlarından ayrıştırıp işleyerek sonuçta saf HTML formatında bir çıktı üretmek ve Web sunucusuna iletmektir.


  • $_FILES
  • $_FILES ~ 25,175

    Örnek kod ve açıklamalar



  • Oop - Nesne Yönelimli Programlama
  • Oop - Nesne Yönelimli Programlama ~ 21,551

    Artık ister istemez her programcının bulaştığı bu teknik hakkında sayısız makale yazılmıştır bu güne kadar. Bu makale de onlardan biri


  • Xampp Kurulumu ~ 20,890

    Xampp apache, mysql, php ve phpmyadmin için kolay ve basit kurulum sağlayan bir uygulamadır.




  • Php İle Excel Dosyası Oluşturmak
  • Php İle Excel Dosyası Oluşturmak ~ 19,756

    Genelde, herhangi bir biçimlendirme söz konusu olmadığında, veritabanındaki bir bilgiyi ya da başka bir tabloyu excel ortamına aktarmak için csv yöntemini kullanırım. Bu yöntem herkesin bildiği gibi, her sütunu tab ya da noktalı virgül gibi bir karakterle ve her satırı da enter karakteri ile bölmekten ibaret. Ama biçimlendirme söz konusu olduğunda, mesela sütunlara bir genişlik vermek, yazıları bold yapmak, bazı hücreleri sayı ya da para tipine çevirmek gibi biçimlendirmelerde bu yöntem işe yaramamakta.


  • Verileri doğrulamak için PHP ile filtreleme işlemleri
  • Verileri doğrulamak için PHP ile filtreleme işlemleri ~ 19,719

    Ziyaretçilerden gelen verilerin istediğimiz formata uygunluğunu kontrol etmeliyiz ki, güvenlik açığı yaratmayalım. E-postaları, web adreslerini, bilgi girişlerini ve dahasını Her birine uygun farklı fonksiyonlar yazıldı bu vakte kadar. Ancak PHP 5.2.0 ve üstü sürümlerde bu fonksiyonlara gereksinim azaldı. Çünkü PHP filtreleme fonksiyonları standart oldu.


  • Php ile Oturum Yönetimi (SESSION)
  • Php ile Oturum Yönetimi (SESSION) ~ 19,575

    Türkçesi oturum anlamına gelen session bilgilerin saklanması için kullanılan mantıksal bir nesnedir.Session oturum yönetimini kullanarak şifreli sayfalar oluşturarak ve bu sayfaları belirlediğiniz kullanıcıların görmesini sağlayabilirsiniz.


  • $_SERVER
  • $_SERVER ~ 19,192

    $_SERVER host bilgileri, header bilgileri, yollar ve script yolları gibi bilgileri içeren bir dizidir. Bu dizideki değerler web server tarafından üretilir. Tüm server yazılımlarının, tüm değerleri atayacağına dair bir kesinlik yoktur. Yazılım bazılarını atamayabilir, veyahut burada anlatılacak değerlerin haricinde değerler ekleyebilir


  • En iyi 25 php template motoru
  • En iyi 25 php template motoru ~ 19,011

    Php tabanlı web siteleri dizayn ederken, php kodlarını html kodlar arasına gömeriz. Fakat gün gelir bu kodları düzenlemek istediğimizde çok büyük bir çaba gerektirir. Bu tarz durumlarla başa çıkabilmek için ve daha kararlı bir sistem kodlamak için tema sistemleri geliştirebilirsiniz. Tema sistemi ya da motorlarının asıl amacı, php kodları ile html kodlarını birbirinden ayırmaktır. Böylece hangi kod üzerinde değişiklik yapmanız gerekiyorsa, kendisine ait dosyalarını açarak bu işlemi gerçekleştirebilirsiniz



  • Php Mysql to XML
  • Php Mysql to XML ~ 18,739

    Bu yapıyı geliştirerek mysql veritabanınızdaki datalarınızı xml standartlarına dönüştürebilirsiniz.









  • $_REQUEST
  • $_REQUEST ~ 15,772

    $_GET, $_POST, ve $_COOKIE değişkenlerini içeriğinden meydana gelen çağrışımlı bir dizidir. Bu değişken bir superglobal olduğu için tüm alanlarda (scope) geçerlidir ve bundan dolayıdır ki global $_REQUEST ; şeklinde bir tanımlamaya ihtiyaç duymaz. Eğer register_globals değişkeni php. İni de ayarlanmışsa bu değişken her yerde (Global Scope) kullanılabilir