Php integer daripada pembahagian. Bagaimana untuk melaksanakan pembahagian integer dalam PHP. Operator kenaikan dan pengurangan postfix

Operasi logik wujud dalam semua bahasa pengaturcaraan dan PHP tidak terkecuali. Sebagai tambahan kepada pembahagian, pendaraban, penambahan atau penolakan mudah, terdapat juga pembahagian integer dan baki, yang kini akan kita bincangkan dan juga menganalisisnya menggunakan contoh terperinci.

Pembahagian integer ialah keluaran bahagian integer daripada bahagian. Sebagai contoh, jika kita membahagi 5 dengan 2, kita mendapat 2, bukan 2.5.

Dengan pembahagian sisa semuanya berbeza. Ini ialah keluaran baki apabila dibahagikan dengan integer. Sebagai contoh, membahagi lima yang sama, anda tidak akan mendapat 2, tetapi 1, kerana membahagikan 5 dengan 2, kita mendapat 2, dan bakinya ialah 1.

Bagaimana untuk melakukan pembahagian integer dalam PHP

Sebagai contoh, dalam Python pembahagian ini dilakukan menggunakan operator mudah: "//".

Dan dalam PHP ini tidak akan begitu mudah untuk dilakukan, tetapi masih proses itu tidak memerlukan pengetahuan super bahasa.

Mari kita berikan contoh bagaimana ini boleh dilaksanakan.

DALAM PHP Versi ketujuh fungsi kelihatan seperti ini:

Intdiv();

Dalam versi yang lebih lama, fungsi yang sama kelihatan seperti ini:

Terdapat juga kaedah untuk semua versi:

Lantai();

Cara memohon?

Sebagai contoh, mari kita ambil fungsi pertama, semua yang lain dilakukan dengan cara yang lebih kurang sama.

$result = intdiv(10, 3); echo $result;

Bahagian baki dalam PHP

Untuk memaparkan baki integer pembahagian dalam PHP Cukup dengan hanya menggunakan operator "%".

$i = 10% 3; echo $i;

Seperti yang kita lihat, semuanya agak mudah dan tidak memerlukan penjelasan yang panjang.

Di mana ia boleh digunakan?

Pengetahuan tentang pembahagian integer PHP akan sangat berguna jika anda perlu membandingkan dua nombor, mencipta nombor terbalik (latihan popular), atau, sebagai contoh, program yang dipanggil FizzBuzz. Intipatinya ialah anda perlu menulis kitaran dari 1 hingga 100, yang membahagikan setiap nombor dengan 3 dan 5. Jika nombor dibahagikan dengan 3 mempunyai baki 0, maka kita menulis Fizz, jika dibahagikan dengan 5, kemudian Buzz, dan jika , membahagikan kedua-dua 5 dan 3, bakinya ialah 0, maka kita tulis FizzBuzz. Ini adalah tugas temuduga yang sangat popular. Jika anda menyelesaikannya sendiri, anda boleh berbangga dengan diri anda sendiri.

Atau, sebagai contoh, kita perlu memperoleh semua nombornya (4, 5, 2) daripada nombor 452.

Kesimpulan

Sudah tentu, pembahagian integer dan baki berguna dan agak biasa; ia tidak semudah digunakan seperti dalam Python, tetapi ia masih penting.

Kini anda selangkah lebih dekat untuk mempelajari bahasa pengaturcaraan PHP dan pada masa hadapan anda akan menjadi lebih rapat jika anda mengatasi kesukaran sama tekun.

Semua operasi matematik asas tersedia dalam PHP. Kedua-dua integer dan nombor nyata boleh digunakan sebagai operan.

Jadual menunjukkan senarai operator aritmetik:
OperatorTandaPenerangan
Penambahan + Penambahan dua nilai
Penolakan - Menolak satu nilai daripada nilai yang lain
Pendaraban * Mendarab dua nilai
Bahagian / Membahagikan satu nilai dengan nilai yang lain
Mendapat baki bahagian % Membahagikan satu nilai dengan yang lain dan mengembalikan baki (bahagian modulo)
Kenaikan ++ Pendek kata untuk menambah satu nombor
Penurunan -- Kata singkatan untuk mengurangkan nombor dengan satu
Penafian unary - Menukar nombor positif kepada nombor negatif atau negatif kepada positif

Operator tolak, darab, bahagi, modulo dan tambah

Operator tolak, darab, bahagi, modulo, dan tambah digunakan dengan cara yang sama seperti dalam matematik. Di sini adalah bernilai memberi perhatian kepada operator bahagian dan modulo.

Operator pembahagian (" / ") mengembalikan nombor titik terapung, melainkan kedua-dua nilai adalah integer (atau rentetan yang ditukar kepada integer) yang dibahagikan dengan integer, dalam hal ini ia mengembalikan nilai integer.

hasil2 = $hasil2
"; echo "result3 = $result3
hasil4 = $hasil4"; ?>

Dalam pembahagian modulo, operan ditukar kepada integer (dengan bahagian pecahan dikeluarkan) sebelum operasi bermula. Hasil daripada operasi baki % akan mempunyai tanda yang sama seperti dividen:

Penafian unary

Operator penolakan unary dilambangkan dengan tanda "-", dan ia membalikkan makna satu-satunya operannya:

Dalam kes ini, kurungan tidak diperlukan kerana penolakan unary mempunyai keutamaan tertinggi, tetapi ia membantu mengatur kod supaya jelas bahawa nombor -5 dan 4 sedang ditambah.

Kenaikan

Operator kenaikan dilambangkan dengan tanda ++ dan boleh diletakkan pada kedua-dua belah operan yang dikendalikannya. Ia meningkatkan nilai ini sebanyak satu, sama seperti menambah satu pada nilai. Keputusan sebenar bergantung pada sama ada pengendali digunakan sebelum atau selepas operan yang digunakan. Operator ini sering digunakan dengan pembolehubah, dan selalunya ini berlaku di dalam gelung (gelung akan dibincangkan kemudian).

Bentuk awalan kenaikan

Borang awalan- ini adalah apabila pengendali kenaikan diletakkan sebelum operan, bentuk tatatanda ini bermakna bahawa kenaikan akan dilaksanakan terlebih dahulu: ia meningkatkan nilai operan dengan satu dan hanya kemudian arahan yang lain dilaksanakan:

Bentuk kenaikan postfix

Borang Postfix ditulis sedikit berbeza - kenaikan terletak dalam kes ini selepas operan. Dalam tatatanda postfix, penggunaan pertama operan mengembalikan nilai semasanya, hanya selepas itu nilai akan ditambah dengan satu:

Penurunan

Pengendali penyusutan dilambangkan dengan tanda --, dan tidak seperti pengendali kenaikan, ia mengurangkan, bukannya menambah, nilai operannya dengan satu. Penurunan juga membenarkan notasi awalan dan pascafiks:

Operasi dengan pembolehubah PHP (pengendali)

Terdapat pelbagai kumpulan untuk pelaksanaan.

Operator ialah sesuatu yang terdiri daripada satu atau lebih nilai (ungkapan dalam jargon pengaturcaraan) yang boleh dinilai sebagai nilai baharu (oleh itu, keseluruhan binaan boleh dianggap sebagai ungkapan). Ia mengikuti fungsi atau mana-mana binaan lain yang mengembalikan nilai (contohnya, cetak()) adalah pengendali, tidak seperti semua binaan bahasa lain (contohnya, gema()), yang tidak mengembalikan apa-apa.

Operasi aritmetik dalam PHP

Ingat asas aritmetik sekolah? Pernyataan di bawah berfungsi dengan cara yang sama.

Operator bahagian ("/") sentiasa mengembalikan jenis sebenar, walaupun kedua-dua nilai adalah integer (atau rentetan yang bertukar kepada integer). Jika tidak, hasilnya akan menjadi pecahan.

Operasi mengira baki bahagian " % " hanya berfungsi dengan nombor bulat, jadi penggunaannya pada pecahan mungkin menghasilkan keputusan yang tidak diingini.

Ia adalah mungkin untuk menggunakan kurungan. Keutamaan operasi matematik tertentu berbanding yang lain dan perubahan keutamaan apabila menggunakan kurungan dalam ungkapan aritmetik mengikut peraturan biasa matematik.

Operasi kenaikan dan pengurangan

PHP, seperti C, menyokong pengendali kenaikan dan pengurangan awalan dan pascafix.

Operator kenaikan dan pengurangan postfix

Seperti dalam C, pengendali ini menambah atau mengurangkan nilai pembolehubah, dan dalam ungkapan mengembalikan nilai pembolehubah $a sebelum perubahan. Sebagai contoh:

$a=10;
$b=$a++;
echo "a=$a, b=$b"; // Mencetak a=11, b=10

Seperti yang anda lihat, pertama pembolehubah $b nilai yang diberikan kepada pembolehubah $a, dan hanya kemudian yang terakhir dinaikkan. Walau bagaimanapun, ungkapan yang nilainya diberikan kepada pembolehubah $b, mungkin lebih sukar - dalam apa jua keadaan, kenaikan $a akan berlaku hanya selepas ia dikira.

Operator kenaikan dan pengurangan awalan

Terdapat juga pengendali kenaikan dan pengurangan, yang dinyatakan dan bukannya selepas nama pembolehubah. Sehubungan itu, mereka mengembalikan nilai pembolehubah selepas perubahan. Contoh:

$a=10;
$b=--$a;
echo "a=$a, b=$b"; // Mencetak a=9, b=9

Operasi kenaikan dan pengurangan digunakan sangat kerap dalam amalan. Sebagai contoh, ia berlaku dalam hampir mana-mana kitaran untuk .

bergema "

Kenaikan postfix

" ;
$a = 5 ;
echo "Sepatutnya 5: " . $a++ . "
\n" ;

\n" ;

Gema "

Kenaikan awalan

" ;
$a = 5 ;
echo "Sepatutnya 6: " . ++ $a . "
\n" ;
echo "Sepatutnya 6: " . $a . "
\n" ;

Gema "

Penurunan postfix

" ;
$a = 5 ;
echo "Sepatutnya 5: " . $a -- . "
\n" ;

\n" ;

Gema "

Pengurangan awalan

" ;
$a = 5 ;
echo "Mestilah 4: " . -- $a . "
\n" ;
echo "Mestilah 4: " . $a . "
\n" ;
?>

Operasi rentetan

PHP mempunyai dua operator untuk bekerja dengan rentetan. Yang pertama ialah operator gabungan ("."), yang mengembalikan gabungan argumen kiri dan kanan. Yang kedua ialah pengendali tugasan dengan penggabungan, yang menambahkan hujah kanan ke kiri. Mari kita berikan contoh khusus:

$a = "Hello" ;
$b = $a . "Dunia!" ; // $b mengandungi rentetan "Hello World!"

$a = "Hello" ;
$a .= "Dunia!" ; // $a mengandungi rentetan "Hello World!"
?>

Operasi bitwise

Operasi ini direka bentuk untuk mengendalikan (set/nyahset/semak) kumpulan bit dalam keseluruhan pembolehubah. Bit integer adalah tidak lebih daripada digit individu nombor yang sama yang ditulis dalam sistem nombor binari. Sebagai contoh, dalam binari nombor 12 akan kelihatan seperti 1100 dan 2 akan kelihatan seperti 10, jadi ungkapan 12|2 akan mengembalikan kita nombor 14 (1110 dalam tatatanda binari). Jika pembolehubah bukan integer, maka ia adalah
pertama dibundarkan, dan kemudian operator berikut digunakan padanya.

Untuk mewakili satu nombor, 32 bit digunakan:

  • 0000 0000 0000 0000 0000 0000 0000 0000 adalah sifar;
  • 0000 0000 0000 0000 0000 0000 0000 0001 ialah 1;
  • 0000 0000 0000 0000 0000 0000 0000 0010 ialah 2;
  • 0000 0000 0000 0000 0000 0000 0000 0011 ialah 3;
  • 0000 0000 0000 0000 0000 0000 0000 0100 ialah 4;
  • 0000 0000 0000 0000 0000 0000 0000 0101 ialah 5;
  • 0000 0000 0000 0000 0000 0000 0000 1111 ialah 15;

Pengendali bitwise:

Contoh Nama Hasilnya
$a & $b Bitwise "dan" Hanya bit yang ditetapkan dalam kedua-dua $a dan $b ditetapkan.
$a | $b Bitwise "atau" Bit-bit yang ditetapkan sama ada dalam $a atau $b ditetapkan.
$a^$b Eksklusif atau Hanya bit yang ditetapkan sama ada hanya dalam $a atau hanya dalam $b ditetapkan
~$a Penafian Bit yang tidak ditetapkan dalam $a ditetapkan, dan sebaliknya.
$a<< $b Beralih ke kiri Semua bit pembolehubah $a dialihkan kedudukan $b ke kiri (setiap kedudukan membayangkan "darab dengan 2")
$a >> $b Beralih ke kanan Semua bit pembolehubah $a dialihkan kedudukan $b ke kanan (setiap kedudukan membayangkan "bahagi dengan 2")

Operasi Perbandingan

Pengendali perbandingan, seperti namanya, membolehkan anda membandingkan dua nilai.

Ini adalah operasi unik dengan cara mereka sendiri kerana, tanpa mengira jenis hujah mereka, mereka sentiasa mengembalikan salah satu daripada dua perkara: salah atau benar. Operasi perbandingan membandingkan dua nilai antara satu sama lain dan, jika keadaan itu benar, kembalikan benar, Dan jika tidak - salah.

PHP hanya membenarkan pembolehubah skalar dibandingkan. Tatasusunan dan objek tidak boleh dibandingkan dalam PHP. Mereka tidak boleh dibandingkan untuk kesamaan (menggunakan operator ==), tetapi PHP tidak mengeluarkan amaran apabila melakukan operasi sedemikian. Jadi, setelah tertanya-tanya mengapa dua tatasusunan yang sama sekali berbeza apabila membandingkannya menggunakan == tiba-tiba berubah menjadi sama, ingat bahawa sebelum perbandingan kedua-dua operan ditukar kepada perkataan tatasusunan, yang kemudiannya dibandingkan.

Lihat Perbandingan tatasusunan untuk butiran.

Pengendali perbandingan:

Contoh Nama Hasilnya
$a == $b sama BENAR jika $a sama dengan $b.
$a === $b Identik sama BENAR jika $a sama dengan $b dan mempunyai jenis yang sama. (Ditambah dalam PHP 4)
$a != $b Tidak sama BENAR jika $a tidak sama dengan $b.
$a<>$b Tidak sama BENAR jika $a tidak sama dengan $b.
$a !== $b Identik tidak sama BENAR jika $a tidak sama dengan $b atau jika ia daripada jenis yang berbeza (Ditambah dalam PHP 4)
$a< $b Kurang BENAR jika $a adalah kurang daripada $b.
$a > $b Lagi BENAR jika $a lebih besar daripada $b.
$a<= $b Kurang atau sama BENAR jika $a kurang daripada atau sama dengan $b.
$a >= $b Lebih atau sama BENAR jika $a lebih besar daripada atau sama dengan $b.

Operasi logik

Pengendali logik direka bentuk secara eksklusif untuk bekerja dengan ungkapan Boolean dan juga kembali salah atau benar.

Berikut ialah jadual operator logik PHP:

Perlu diingatkan bahawa penilaian ungkapan logik yang mengandungi pengendali sedemikian sentiasa berjalan dari kiri ke kanan, dan jika hasilnya sudah jelas (contohnya, palsu&&sesuatu sentiasa memberi salah), maka pengiraan ditamatkan, walaupun ungkapan mengandungi panggilan fungsi. Contohnya, dalam operator $logic = 0&&(time()>100); fungsi standard masa() tidak akan pernah dipanggil.

Berhati-hati dengan operasi logik - jangan lupa tentang penggandaan watak. Sila ambil perhatian bahawa, sebagai contoh, | Dan || - dua pengendali yang sama sekali berbeza, satu daripadanya berpotensi mengembalikan sebarang nombor, dan yang kedua - sahaja salah Dan benar.

Pengendali kenaikan (++) dan pengurangan (--) tidak berfungsi dengan pembolehubah boolean.

Pengendali kesetaraan

Dalam PHP, bermula dari PHP4 terdapat operator perbandingan yang sama - tanda sama tiga kali ganda === ,
atau pengendali cek. PHP agak bertolak ansur dengan rentetan yang secara tersirat ditukar kepada nombor, dan sebaliknya.
Sebagai contoh, kod berikut akan mencetak bahawa nilai pembolehubah adalah sama:

$a=10;
$b="10";

Dan ini walaupun pada hakikatnya pembolehubah $a mewakili nombor dan $b- baris. Sekarang mari kita lihat contoh yang sedikit berbeza:

$a=0; // sifar
$b=""; // baris kosong
if($a==$b) echo "a dan b adalah sama"; // Mencetak "a dan b adalah sama"

Walaupun $a Dan $b jelas tidak sama walaupun dalam erti kata biasa, skrip akan mengisytiharkan bahawa mereka adalah sama. Kenapa ini terjadi? Maksudnya ialah jika salah satu operan pengendali logik boleh ditafsirkan sebagai nombor, maka kedua-dua operan dianggap sebagai nombor. Dalam kes ini, baris kosong bertukar menjadi 0 , yang kemudiannya dibandingkan dengan sifar. Ia tidak menghairankan bahawa pengendali bergema berfungsi.
Masalahnya diselesaikan oleh pengendali kesetaraan === (persamaan tiga kali ganda). Ia bukan sahaja membandingkan dua ungkapan, tetapi juga jenisnya. Mari kita tulis semula contoh kita menggunakan operator ini.

Operasi logik wujud dalam semua bahasa pengaturcaraan dan PHP tidak terkecuali. Sebagai tambahan kepada pembahagian, pendaraban, penambahan atau penolakan mudah, terdapat juga pembahagian integer dan baki, yang kini akan kita bincangkan dan juga menganalisisnya menggunakan contoh terperinci.

Pembahagian integer ialah keluaran bahagian integer daripada bahagian. Sebagai contoh, jika kita membahagi 5 dengan 2, kita mendapat 2, bukan 2.5.

Dengan pembahagian sisa semuanya berbeza. Ini ialah keluaran baki apabila dibahagikan dengan integer. Sebagai contoh, membahagi lima yang sama, anda tidak akan mendapat 2, tetapi 1, kerana membahagikan 5 dengan 2, kita mendapat 2, dan bakinya ialah 1.

Bagaimana untuk melakukan pembahagian integer dalam PHP

Sebagai contoh, dalam Python pembahagian ini dilakukan menggunakan operator mudah: "//".

Dan dalam PHP ini tidak akan begitu mudah, tetapi masih proses itu tidak memerlukan pengetahuan super bahasa.

Mari kita berikan contoh bagaimana ini boleh dilaksanakan.

Dalam PHP versi tujuh, fungsinya kelihatan seperti ini:

Dalam versi yang lebih lama, fungsi yang sama kelihatan seperti ini:

Terdapat juga kaedah untuk semua versi:

Cara memohon?

Sebagai contoh, mari kita ambil fungsi pertama, semua yang lain dilakukan dengan cara yang lebih kurang sama.

$result = intdiv(10, 3); echo $result;

Bahagian baki dalam PHP

Untuk memaparkan baki integer pembahagian dalam PHP, hanya gunakan operator "%".

$i = 10% 3; echo $i;

Seperti yang kita lihat, semuanya agak mudah dan tidak memerlukan penjelasan yang panjang.

Di mana ia boleh digunakan?

Pengetahuan tentang pembahagian integer dalam PHP akan sangat berguna jika anda perlu membandingkan dua nombor, mencipta nombor terbalik (latihan popular), atau, sebagai contoh, program yang dipanggil FizzBuzz. Intipatinya ialah anda perlu menulis kitaran dari 1 hingga 100, yang membahagikan setiap nombor dengan 3 dan 5. Jika nombor dibahagikan dengan 3 mempunyai baki 0, maka kita menulis Fizz, jika dibahagikan dengan 5, kemudian Buzz, dan jika , membahagikan kedua-dua 5 dan 3, bakinya ialah 0, maka kita tulis FizzBuzz. Ini adalah tugas temuduga yang sangat popular. Jika anda menyelesaikannya sendiri, anda boleh berbangga dengan diri anda sendiri.

Atau, sebagai contoh, kita perlu memperoleh semua nombornya (4, 5, 2) daripada nombor 452.

Kesimpulan

Sudah tentu, pembahagian integer dan baki berguna dan agak biasa; ia tidak semudah digunakan seperti dalam Python, tetapi ia masih penting.

Anda kini selangkah lebih dekat untuk mempelajari bahasa pengaturcaraan PHP, dan anda akan menjadi lebih dekat pada masa hadapan jika anda bekerja keras untuk mengatasi cabaran.