Ekspresi dan Operator As’ad Djamalilleil
Expression/Ekspresi Ekspresi adalah semua yang memiliki nilai
Bentuk paling sederhana dari ekspresi adalah konstanta dan variabel $a = 5 5 merupakan sebuah ekspresi karena memiliki nilai (konstanta) $a merupakan sebuah ekspresi karena memiliki nilai (setelah proses pemberian nilai terjadi) Operator sama-dengan ( = ) apabila berdiri sendiri, maka tidak memiliki nilai Tetapi bila digabung menjadi $a = 5, maka ekspresi tersebut bernilai 5. Hal ini dapat dibuktikan dengan script berikut
Berikut adalah contoh ekspresi yang lebih rumit berbentuk fungsi function gondolo() { return 5; } $b = gondolo(); Pemanggil fungsi gondolo() merupakan sebuah ekspresi dikarenakan fungsi tersebut memiliki nilai yang dikembalikan
Contoh ekspresi yang lain $a = $a + 3 * $b $b = ($a = 5) atau $b = $a = 5 ” um ”. ” i ”
Statement/Pernyataan Ekspresi dapat dijadikan sebagai sebuah statement Tidak semua ekspresi adalah statement Rumus statement : expr; Ekspresi yang diikuti dengan semicolon/titik-koma adalah sebuah statement
Operator As’ad Djamalilleil
Aritmatika Operator Contoh Ekspresi Keterangan +$a + $bPenjumlahan -$a - $bPengurangan *$a * $bPerkalian /$a / $bPembagian %$a % $bModulus
Assignment/Pemberian Nilai = Operator ini berarti bahwa operand di sebelah kiri ( = ) diberikan nilai dari ekspresi di sebelah kanannya $a = ($b = 4) + 5; Nilai $a sekarang sama dengan 9, dan $b diberikan nilai 4
Terdapat operator tambahan berupa “operator gabungan” $a = 3; $a += 5; statement di atas sama dengan statement $a = $a + 5; $b = "Halo "; $b.= "cess!"; sama dengan $b = $b. "cess!";
Bitwise Operator bitwise memungkinkan kita untuk mengubah nilai bit tertentu dalam sebuah integer menjadi on (1) atau off (0)
OperatorContohNamaHasil & $a & $b And Bit yang posisinya berada dalam kolom yang sama akan dilakukan proses AND | $a | $b Or Bit yang posisinya berada dalam kolom yang sama akan dilakukan proses OR ^ $a ^ $b Xor Bit yang posisinya berada dalam kolom yang sama akan dilakukan proses XOR ~ ~ $a Not Bit 1 diubah menjadi 0 dan sebaliknya << $a << $b Shift left Semua bit pada $a digeser ke kiri sebanyak beberapa kolom sesuai nilai $b >> $a >> $b Shift right Semua bit pada $a digeser ke kanan sebanyak beberapa kolom sesuai nilai $b
Perbandingan OpContohNamaHasil ==$a == $b sama dengan TRUE jika $a sama dengan $b ===$a === $b identik TRUE jika $a sama dengan $b, dan memiliki tipe yang sama !=$a != $b tidak sama dengan TRUE jika $a tidak sama dengan $b <>$a <> $b tidak sama dengan TRUE jika $a tidak sama dengan $b
OpContohNamaHasil !==$a !== $b tidak identik TRUE jika $a tidak sama dengan $b, dan tidak memiliki tipe yg sama <$a < $b lebih kecil dari TRUE jika $a lebih kecil dari $b >$a > $b lebih besar dari TRUE jika $a lebih besar dari $b <=$a <= $b lebih kecil atau sama dengan TRUE jika $a lebih kecil atau sama dengan $b >=$a >= $b lebih besar atau sama dengan TRUE jika $a lebih besar atau sama dengan $b
Conditional ?: (expr1) ? (expr2) : (expr3); Contoh: <?php $a = 4; $b = 7; echo ($a > $b) ? "sama" : "berbeda"; ?>
Error Control PHP mendukung sebuah operator pengendali error, yaitu tanda “at” Ketika ditambahkan ke sebuah ekspresi di PHP, pesan error yang mungkin dihasilkan oleh ekspresi tersebut akan diabaikan
Bandingkan output ketiga script berikut: <?php $baca = file('abc.txt'); ?> <?php $baca ?> <?php $baca or die($php_errormsg); ?>
Execution PHP mendukung sebuah operator yang dapat digunakan untuk mengeksekusi perintah shell (atau diistilahkan dengan DOS prompt), yaitu dengan menggunakan tanda backtick ( ` ) Output dapat disimpan pada variabel atau dapat langsung ditampilkan
$hasil = `dir`; echo " $hasil ";
Increment/Decrement OpContohNamaEfek ++ ++$a Pre-increment Nilai $a ditambah 1, kemudian mengembalikan nilai $a $a++ Post-increment Mengembalikan nilai $a, kemudian nilai $a ditambah $a Pre-decrement Nilai $a dikurang 1, kemudian mengembalikan nilai $a $a-- Post-decrement Mengembalikan nilai $a, kemudian nilai $a dikurang 1
<?php echo "<h3>Postincrement</h3>"; $a = 5; echo "Should be 5: ". $a++. " \n"; echo "Should be 6: ". $a. " \n"; echo " Preincrement "; $a = 5; echo "Should be 6: ". ++$a. " \n"; echo "Should be 6: ". $a. " \n"; echo " Postdecrement "; $a = 5; echo "Should be 5: ". $a--. " \n"; echo "Should be 4: ". $a. " \n"; echo " Predecrement "; $a = 5; echo "Should be 4: ". --$a. " \n"; echo "Should be 4: ". $a. " \n"; ?>
Logika OpContohNamaHasil and$a and $b And TRUE jika $a dan $b TRUE or$a or $b Or TRUE jika salah satunya TRUE xor$a xor $b Xor TRUE jika $a dan $b berkebalikan !! $a Not TRUE jika $a tidak TRUE &&$a && $b And TRUE jika $a dan $b TRUE ||$a || $b Or TRUE jika salah satunya TRUE
String Ada 2 operator string :. concatenation / menyambung.= concatenating assignment $a = "Halo "; $b = $a. "dunia"; sekarang $b berisi “Halo dunia“ $a = "Halo "; $a.= "dunia"; sekarang $a berisi “Halo dunia“
Operator Precedence AssociativityOperators kiri, or kiri xor kiri and kanan print kiri = += -= *= /=.= %= &= |= ^= ~= >= kiri ? : kiri || kiri && kiri |
^ & non-associative == != === !== non-associative >= kiri > kiri + -. kiri * / % kanan ! ~ (int) (double) (string) (array) kanan [ non-associative new