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 Prioritas Operator dan Contohnya

0
jaka prima maulana
www.primasaja.com -

Prioritas / precedence Operator

diutamakan operator menentukan seberapa "erat" mengikat 2 ekspresi bersama. sebagai contoh, dalam ekspresi 1 + 5 * 3, jawabannya adalah 16 dan bukan 18 karena perkalian operator lebih tinggi prioritasnya dibandingkan operator tambah. tanda kurung () bisa digunakan untuk mencegah prioritas ini,

jika penting. sebagai contoh : (1 + 5) * 3 = 18.


ketika operator punya kesamaan prioritas asosiatifitas mereka menentukan bagaimana operator dikelompokkan. contoh "-" adalah asosiasi kiri 1 - 2 - 3 dijadikan group seperti (1 - 2) - 3 dan hasilnya = -4 dalam hal lain asosiasi kiri. jadi $a = $b = $c  tergroup menjadi $a =  ($b = $c).


operator dengan prioritas sama yang non asosiatif tidak dapat digunakan bersebelahan, contoh 1 < 2 > 1 adalah ilegal di PHP. ekspresi 1 <= 1 == 1 adalah legal, karena operator == memiliki prioritas lebih rendah dari <= operator


gunakan kurung, meski tidak benar benar perlu, dapat sering bisa menambah pembacaan code dengan membuat group ekplicit daripada relying / bergantung pada implicit prioritas operator dan asosiasi.


contoh aktifitas asosiasi

<?php

    $a = 3 * 3 % 5 // (3 * 3) % 5 = 4

    // ternary operator berbeda dengan C/C++

    $b = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2

    $c = 1;

    $d = 2;

    $e = $d += 3; // $e = ($d += 3) -> $e = 5, $d = 5

?>

prioritas operator dan asosiasi hanya ditentukan bagaimana ekspresi tergroup. mereka tidak spesifikasi untuk tugas evaluasi. PHP tidak (dalam kasus umum) spesifikasi dimana tugas ekspresi di evaluasi dan kode yang diasumsikan spesifik order dari evaluasi harus dicegah, karena sifat dapat berubah antara versi PHP atau bergantung putaran code


Contoh undefined order dari hasil

<?php

    $f = 1;

    echo $f + $f++; // bisa terprint 2 atau 3


    $g = 1;

    $array[$g] = $g++; // bisa 2 atau 3 

?>

Contoh +, - dan . punya prioritas yang sama

<?php

    $x = 4;

    // baris ini bisa menghasilkan output yang tak benar

    echo "x kurang satu " . $x-1 . ", atau saya harap\n"; // output -1

    // karena ini terevaluasi seperti ini:

    echo (("x kurang satu " . $x) - 1) . ", atau saya harap\n"; // output -1

    // bisa dicegah dengan menggunakan kurung

    echo "x kurang satu " . ($x-1) . ", atau saya harap\n"; // 3

?>


Arithmetic Operators

+$a = identity/identitas = konversi $a ke int atau float sebagai yang sesuai.

-$a = Negation/penolakan = seberang dari $a.

$a + $b    Addition/penjumlahan

$a - $b    Subtraction/pengurangan

$a * $b    Multiplication/perkalian

$a / $b    Division/pembagian

$a % $b    Modulo/sisa hasil bagi

$a ** $b Exponentiation/pangkat    


operator pembagian / mengembalikan float value sampai 2 operand adalah integer (atau string yang terkonversi ke integer) dan nomor itu habis dibagi, dimana,  kasus integer value akan di kembalikan. untuk integer pembagian.


operand dari modulo terkonvert ke integer sebelum process. untuk floating point modulo liat fmod().


hasil dari modulo operator % memiliki sign hasil bagi - itu dia, hasil dari $a % $b akan memiliki definisi yang sama $a. Contoh:

<?php

    echo (5 % 3)."\n";           // prints 2

    echo (5 % -3)."\n";          // prints 2

    echo (-5 % 3)."\n";          // prints -2

    echo (-5 % -3)."\n";         // prints -2

?>


tugas / assignment operator

dasar tugas operator adalah =. kecenderungan / inclination anda mungkin menggap ini "sama dengan". tidak. ini berarti opearand kiri diatur ke nilai ekspresi di sebelah kanan ("diatur ke").


nilai ekspresi penugasan adalah value penugasan. itu dia, value dari $a = 3 adalah 3. ini mengijinkan kamu untuk melakukan trik seperti:


<?php

    $a = ($b = 4) + 5; // $a sama dengan 9 sekarang, dan $b terset ke 4

?>


sebagai tambahan penggunaan penugasan operator dasar, disana ada kombinasi operator untuk semua binary aritmatika, array union dan string operator yang mengijinkan kamu untuk menggunakan ekspresi dan set valuenya ke hasil dari ekspresi, contoh:


<?php

    $a = 3;

    $a += 5; // set menjadi 8, jika kita bisa bilang $a = $a + 5

    $b = "halo ";

    $b .= "disana"; // set $b menjadi halo disana, seperti $b = $b . "disana";

?>


catatan penugasan mengcopy original variable ke 1 yang baru (penugasan oleh value), jadi merubah satu akan tidak berefek pada yang lain. ini juga memiliki keterkaitan jika kamu membutuhkan copty sesuatu seperti array yang besar dalam perulangan yang erat.


pengecualian pada penugasan biasa dengan sifat value dalam kejadian PHP dalam objects, dimana itu di tugaskan oleh reference. object bisa jadi eksplisit tercopy via kata clone.


penugasan by Reference

Penugasan by reference juga support, menggunakan $var = &$varlain;. penugasan by reference berarti kedua variable terpoint akhir pada data yang sama, dan tidak ada yang tercopy dimanapun.


Contoh penugasan by Reference

<?php

    $a = 3;

    $b = &$a; // $b adalah reference dari $a

    print "$a"; // 3

    print "$b"; // 3


    $a = 5; // $a dirubah ke 5

    print $a; // 5

    print $b; // sejak $b adalah reference ke $a maka $b juga berisi 5

?>


operator baru mengembalikan reference otomatis, jadi hasil penugasan dari hasil reference new dalam E_DEPRECATED pesan dalam PHP 5.3 dan selanjutnya, dan pesan E_STRICT.


sebagai contoh, kode ini akan menghasilkan pesan peringatan:


<?php

    class Class1 {


    }

    /* mengikuti baris generate error pesannya:

    deprecated: penugasan mengembalikan nilai dari new by reference adalah usang / deprecated in..

     */

    $z - &new Class1;

?>


Total Komentar : 0
Tidak Ada Komentar: