Primasaja.com: Service WEB, MOBILE & SOFTWARE DEVELOPMENT , ENGINEERING & ARCHITECTURE , DESIGN & CREATIVE , ADMIN SUPPORT , SALES & MARKETING , INSTALASI JARINGAN & KOMPUTER
Email: jakaprima123@gmail.com
Phone: 081311086653
Fax: -
Url:
cash, credit card
Perum Griya Rajeg Lestari Blok C No 24
Tangerang indonesia 15540

Tutorial PHP Perulangan atau Loop While DoWhile For dan Foreach

0
jaka prima maulana
www.primasaja.com -

Perulangan Struktur Control: while

(PHP 4, PHP 5, PHP 7)

perulangan while adalah tipe paling simple dari perulangan PHP. mereka bersifat seperti C. bentuk dari while statement adalah:

while(expr)

    statement


arti dari while statement itu simple. itu mengatakan PHP untuk mengeksekusi yang didalam statement berulang, selama ekspresi while terevalusasi ke TRUE. ekspresi value adalah tercek setiap waktu dari pertama perulangan, jadi meskipun jika value berubah selagi eksekusi dari dalam statement, eksekusi akan tidak berhenti sampai akhir perulangan (setiap waktu PHP menjalankan statament dalam loop adalah satu iterasi). terkadang, ekspresi if dan while terevaluasi ke FALSE dari paling awal, statement didalam tidak akan berjalan sekalipun.


seperti if statement, kamu bisa group banyak statement dalam waktu yang bersamaan while loop dengan disekeliling group statement dengan kurung kurawal, atau dengan sintak alternatif:

while (expr):

    statement

    ...

endwhile;


Contoh print 1 sampai 10

<?php

    // Contoh 1

    $i = 1;

    while($i <= 10){

        echo $i++; // value akan terprint dari $i sebelum increment (post-increment) jadi loop pertama akan beroutput 1

    }


    // contoh 2

    $i = 1;

    while($i <= 10):

        echo $i;

        $i++;

    endwhile;

?>


Perulangan Struktur Control: do-while

(PHP 4, PHP 5, PHP 7)

perulangan do-while sangat mirip dengan perulangan while, kecuali ekspresi yang benar adalah mencek pada akhir setiap perulangan daripada dari awal. perbedaan dasar dari perulangan biasa while adalah perulangan pertama dari perulangan do-while adalah menjamin untuk berjalan(ekspresi benar hanya tercek pada akhir dari perulangan), dimana itu tidak penting dengan perulangan while biasa (ekspresi kebenaran ter cek pada awal dari setiap iterasi, jika itu terevaluasi ke FALSE dari awal mulai, eksekusi perulangan harus berakhir langsung).


disana hanya ada satu sintak untuk perulangan do-while:

<?php

    $i = 0;

    do {

        echo $i;

    } while( $i > 0);

?>

<?php

    $i = 0;

    do {

        echo $i;

    } while ($i > 0);

?>


perulangan diatas akan berjalan sekali secara tepat, sejak perulangan pertama, ketika ekspresi kebenaran tercek,itu terevaluasi ke FALSE ($i tidak lebih besar dari 0) dan eksekusi perulangan berakhir


orang yang ahli bahasa C pasti familiar dengan perbedaan penggunaan perulangan do-while, untuk mengijinkan menghentikan eksekusi dalam pertengahan blok kode, dengan encapsulasi mereka dengan do-while (0), dan menggunakan break statement. berikut potongan kode yang mendemonstrasikan tersebut:

<?php

    do {

        if($i < 5){

            echo "i kurang besar";

            break;

        }

        $i *= $factor;

        if($i < $minimum_limit){

            break;

        }

        echo "i adalah ok";

        // proses i

    } while(0);

?>


Perulangan Struktur Control: for

(PHP 4, PHP 5, PHP 7)

perulangan for adalah perulangan paling komplek di PHP. dia bersifat seperti C. syntax dari perulangan for adalah:

for (expr1; expr2; expr3)

    statement


ekspresi pertama (expr1) adalah terevaluasi (tereksekusi) sekali tidak terkondisi pada awal perulangan


awal setiap iterasi, expr2 terevaluasi. jiak itu terevaluasi ke TRUE, perulangan berlanjut dan statement terkurung didalamnya akan tereksekusi. jika evaluasi ke FALSE, eksekusi perulangan selesai.


akhir dari setiap perulangan, expr3 terevaluasi (tereksekusi).


setiap ekspresi dapat kosong atau mengandung ekspresi dibagi dengan koma. dalam expr2, semua ekspresi dibagi dengan koma terevaluasi tetapi hasilnya terambil dari bagian terakhir.

expr2 menjadi kosong berarti dalam loop harus berjalan tanpa batas (PHP tidak secara langsung berpendapat sebagai TRUE, seperti C). ini mungkin tidak berguna jika kamu pikir, sejak sering kamu ingin sampai akhir dari perulangan menggunakan kondisional break statement daripada menggunakan untuk truth ekspresi


Contoh FOR menampilkan nomor 1 sampai 10:

<?php

    /* contoh 1 */

    for ($i = 1; $i <= 10; $i++) {

        echo $i;

    }


    /* contoh 2 */

    for ($i = 1; ; $i++) {

        if ($i > 10) {

            break;

        }

        echo $i;

    }


    /* contoh 3 */

    $i = 1;

    for (; ; ) {

        if ($i > 10) {

            break;

        }

        echo $i;

        $i++;

    }


    /* contoh 4 */

    for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);

?>


tentu contoh pertama diharapkan menjadi yang paling bagus (atau mungkin ke empat), tetapi kamu mungkin menemukan bisa menggunakan ekspresi kosong dalam perulangan for berguna dalam banyak kesempatan.


PHP juga support alternatif "colon sintak" untuk for loop

for (expr1; expr2; expr3):

    statement

    ...

endfor;


ini adalah umum digunakan banyak user untuk melakukan perulangan melalui array seperti contoh dibawah ini

<?php

    /*

     * ini adalah array dengan beberapa data yang kita ingin modifikasi

     * ketika menjalankan melewati for loop.

     */

    $test1 = array(

        array('nama' => 'jaka', 'nomor' => 087880716772),

        array('nama' => 'budi', 'nomor' => 215863)

    );


    for($i = 0; $i < count($test1); ++$i) {

        $test1[$i]['random_generate'] = mt_rand(000000, 999999);

    }

?>


code diatas bisa berjalan lambat, karena size array berefek pada setiap perulangan. sejak size tidak pernah berubah, perulangan bisa mudah dioptimal dengan menggunakan variable tengah untuk menyimpan size sebagai ganti perulangan dipanggil count():

<?php

    $test2 = array(

        array('nama' => 'jaka2', 'nomor' => 087880716772),

        array('nama' => 'budi2', 'nomor' => 215863)

    );


    for($i = 0, $size = count($test2); $i < $size; ++$i) {

        $test2[$i]['random_generate'] = mt_rand(000000, 999999);

    }

?>



Perulangan Struktur Control: foreach

(PHP 4, PHP 5, PHP 7)


konstruksi foreach melayani cara termudah untuk perulangan dari array. foreach bekerja hanya di array dan object, dan akan memberikan isu error ketika kamu mencoba untuk menggunakannya pada variable dengan tipe data yang berbeda atau tidak terinisialisasi variable. terdapat 2 sintak:


1.

foreach (ekspresi_array as $value)

    statement


2.

foreach (ekspresi_array as $key => $value)

    statement


bentuk pertama dari array diberikan oleh ekspresi_array. setiap perulangan, value dari element pada saat loop terdefinisi ke $value dan secara internal array pinter adalah kemukakan oleh satu (dan seterusnya pada perulangan selanjutnya, kamu akan melihat pada element selanjutnya).


bentuk kedua akan menambahkan penugasan pada element saat ini yaitu key ke $key variable pada setiap perulangan.


bisa melakukan modifikasi object perulangan.

catatan:

di PHP 5, ketika foreach pertama kali dieksekusi, internal array pointer secara otomatis reset ke element pertama dari array. ini berarti kamu tidak perlu memanggil reset() sebelum perulangan foreach.


foreach bergantung pada internal array pointer di PHP 5, merubahnya dalam perulangan memandu anda pada sifat yang tidak terduga.


dalam PHP 7, foreach tidak menggunakan internal array pointer


sebagai tugas untuk bisa secara langsung modifikasi array element didalam perulangan mendahului $value dengan &. dalam kasus itu value akan ditugaskan oleh reference

<?php

    $arr = array(1, 2, 3, 4);

    foreach ($arr as &$value) {

        $value = $value * 2;

    }


    // $arr sekarang menjadi array(2, 4, 6, 8)

    unset($value); // break reference dengan element terakhir

?>


peringatan

reference dari $value dan akhir array element tetap ada setelah perulangan foreach. ini merekomendasikan untuk menghancurkannya dengan unset(). jika tidak kamu mengalami sifat berikut:

<?php

    $arr = array(1, 2, 3, 4);

    foreach ($arr as &$value) {

        $value = $value * 2;

    }

    // $arr is now array(2, 4, 6, 8)


    // without an unset($value), $value is still a reference to the last item: $arr[3]


    foreach ($arr as $key => $value) {

        // $arr[3] will be updated with each value from $arr...

        echo "{$key} => {$value} ";

        print_r($arr);

    }

    // ...until ultimately the second-to-last value is copied onto the last value


    // output:

    // 0 => 2 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 2 )

    // 1 => 4 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 4 )

    // 2 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )

    // 3 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )

?>


sebelumnya PHP 5.5.0, referencing $value hanya possible jika perulangan array bisa direferensikan (misalnya jika itu variable). mengikuti kode bekerja hanya dari PHP 5.5.0:

<?php

    foreach (array(1, 2, 3, 4) as &$value) {

        $value = $value * 2;

    }

?>


Catatan:

foreach tidak support kemampuan untuk suppress pesan error menggunakan '@'.


contoh yang mendemonstrasikan penggunaannya:

<?php

    /* foreach contoh 1: hanya value */

    $a = array(1, 2, 3, 17);


    foreach ($a as $v) {

        echo "value sekarang dari \$a: $v.\n";

    }


    /* foreach contoh 2: value (dengan manual notasi akses terprint untuk ilustrasi) */

    $a = array(1, 2, 3, 17);

    $i = 0; /* untuk ilustrasi hanya tujuan */


    foreach ($a as $v) {

        echo "\$a[$i] => $v.\n";

        $i++;

    }


    /* foreach contoh 3: key dan value */

    $a = array(

        "satu" => 1,

        "dua" => 2,

        "tiga" => 3,

        "tujuh" => 17

    );


    foreach ($a as $k => $v) {

        echo "\$a[$k] => $v.\n";

    }


    /* foreach contoh 4: multi-dimensional arrays */

    $a = array();

    $a[0][0] = "a";

    $a[0][1] = "b";

    $a[1][0] = "y";

    $a[1][1] = "z";


    foreach ($a as $v1) {

        foreach ($v1 as $v2) {

            echo "$v2\n";

        }

    }


    /* foreach contoh 5: dynamic arrays */

    foreach (array(1, 2, 3, 4, 5) as $v) {

        echo "$v\n";

    }

?>


Unpacking nested arrays dengan list()

(PHP 5 >= 5.5.0, PHP 7)


PHP 5.5 ditambahkan kemampuan untuk perulangan dari array dan unpack array bersarang dalam perulangan variable dengan menyetiakan list() sebagai value.


sebagai contoh:

<?php

    $array = [

        [1, 2],

        [3, 4],

    ];


    foreach ($array as list($a, $b)) {

        // $a mengandung element pertama dari array bersarang,

        // dan $b mengandung element kedua.

        echo "A: $a; B: $b\n";

        // output:

        // A: 1; B: 2

        // A: 3; B: 4

    }

?>


kamu bisa melayani element lebih sedikit dalam list() dan disana dalam nested array, dalam hal ini value array sisa akan diabaikan:

<?php

    $array = [

        [1, 2],

        [3, 4],

    ];


    foreach ($array as list($a)) {

        // catatan tidak ada $b disini.

        echo "$a\n";

        // output:

        // 1

        // 3

    }

?>


catatan akan tergenerate jika disana tidak cukup array element untuk di isi list():

<?php

    $array = [

        [1, 2],

        [3, 4],

    ];


    foreach ($array as list($a, $b, $c)) {

        echo "A: $a; B: $b; C: $c\n";

    }


    // output:

    // Notice: Undefined offset: 2 in example.php on line 7

    // A: 1; B: 2; C: 

    // Notice: Undefined offset: 2 in example.php on line 7

    // A: 3; B: 4; C: 

?>



Total Komentar : 0
Tidak Ada Komentar: