Php o'zgarish uchun aqliy operatordir.

Kontaktlar / topshirish

Golovna

Muammolarni bartaraf qilish; nosozliklarni TUZATISH(PHP 4, PHP 5, PHP 7) boshqa, nomidan ko'rinib turibdiki, birikmasidir agar va agar boshqa boshqa. boshqa Kabi , u uzaytiradi original bo'lsa, boshqa bayonotni bajarish uchun bayonot agar ifoda bilan baholanadi Muammolarni bartaraf qilish; nosozliklarni TUZATISH FALSE . Biroq, farqli o'laroq

, u o'sha muqobil ifodani faqat bo'lsa bajaradi
shartli ifodani baholaydi
TO'G'RI
.
Butt uchun keyingi kodni b dan kattaroq qilib yozish mumkin, shuning uchun b yoki a b dan kichik:
agar ($a > $b) (
}
?>

echo "a b dan katta"; Muammolarni bartaraf qilish; nosozliklarni TUZATISH) elseif ($a == $b ) ( boshqa echo "a b ga teng"; Muammolarni bartaraf qilish; nosozliklarni TUZATISH) boshqa ( . echo "a b dan kichikroq";

Bir nechta bo'lishi mumkin Muammolarni bartaraf qilish; nosozliklarni TUZATISH s bir xil ichida boshqa bayonot. Muammolarni bartaraf qilish; nosozliklarni TUZATISH Birinchisi , u uzaytiradi ga baholovchi ifoda (agar mavjud bo'lsa). Muammolarni bartaraf qilish; nosozliklarni TUZATISH qatl qilinar edi. ..

PHP da siz “else if” (ikki so‘z uchun) yozishingiz mumkin va xatti-harakatlar “elseif” (bir so‘z uchun) bilan bir xil bo‘ladi.: Sintaktik ma'no biroz farq qiladi (u C tili bilan tanish bo'lganidek, bu bir xil xatti-harakatlar), ammo xulosa shundaki, ikkalasi ham xuddi shunday xatti-harakatlarga olib keladi. Muammolarni bartaraf qilish; nosozliklarni TUZATISH, nomidan ko'rinib turibdiki, birikmasidir The bayonot faqat oldingi bo'lsa bajariladi boshqa/Muammolarni bartaraf qilish; nosozliklarni TUZATISH ifoda va har qanday oldingi The iboralar bilan baholanadi

, va oqim
ifoda baholanadi
Eslatma
Shu esta tutilsinki boshqa bo'lsa;
faqat yuqoridagi misoldagi kabi jingalak qavslardan foydalanganda aynan bir xil deb hisoblanadi.

Sizni aniqlash uchun ikki nuqtadan foydalanilganda
ifoda baholanadi
sharoitlar, siz ajratmasligingiz kerak
ikki so'z bilan aytganda, aks holda PHP rahm-shafqat bilan xavfsiz bo'lmaydi. /* noto'g'ri usul: */
agar ($a > $b):
else if ($a == $b): // Kompilyatsiya qilinmaydi.
aks-sado "Birinchi ovqat bilan qatorni Vicont." endif;
faqat yuqoridagi misoldagi kabi jingalak qavslardan foydalanganda aynan bir xil deb hisoblanadi.

/* To'g'ri usul: */ echo $a ."dan kattaroq" $b;.

elseif ($a == $b):

// So'zlarning birikmasiga e'tibor bering. echo $a .“.

Mening har qanday dasturlashim bilan tanish bo'lganlaringiz ushbu dizaynning ishlashi ortidagi mantiqni bilishlari kerak.

Xo'sh, konstruktsiyaning sintaksisi qanday ko'rinishga ega? PHPda agar ... boshqa:

$b) ( "Zminna A kattaroq, B pastroq" aks-sadosi; ) else ( "Zminna B kattaroq, pastki A"; ) ?>

Tartibda; ... uchun:

  • aql - bu erda qandaydir viraz turishi mumkin, qandaydir vikonning natijasi yanada rivojlangan bo'lishi mumkin rost yoki boshqa yolg'on.< $b”, вызов какой-то функции.
  • rost Masalan, “$a (Umova g'alaba qozonadi), keyin birinchi gilka g'alaba qozonadi (to agar).
  • kalit so'z yolg'on chunki hisob-kitob natijasi eskiroq agar).

(Aql chizilmaydi), keyin boshqa qo'l chiziladi (kalit so'zdan keyin agar Gilki boshqa, Siz hozir bilganingizdek, u vaqti-vaqti bilan tugaydi, chunki aql to'g'ri emas, balki to'g'ri emas.

bir xil dizayn boshqa yaqin kelajakda men ko'raman:

Agar aql siqilgan bo'lsa, biz o'rtaga boramiz, agar u rozi bo'lmasa, o'rtadagilar o'tkazib yuboriladi.

Va ketaylik.

Butt wikiristan if...else PHP da $b) ( "Zminna A kattaroq, B pastroq" aks-sadosi; ) else ( "Zminna B kattaroq, pastki A"; ) ?> Ushbu misolni oling va uning qanday ishlashiga hayron bo'ling. Bizning ko'rish oynamiz ekranda bir qator aks-sadoni ko'rsatadi"Zminna B ko'proq, A pastroq" yolg'on, natija teng bo'lishi kutilmoqda

$a > $b qadimiyroqі (yolg'on), chunki 5 10 dan kam. Ko'rib turganingizdek, hamma narsa oddiy. agar.

Qiymatlarni boshqa qiymatlarga o'zgartirishga harakat qiling


$a $b Va natijani qanday o'zgartirishingiz mumkinligiga hayron bo'ling. Shuningdek, ushbu konstruktsiyani wikisiz qayta yozishga harakat qiling Agar u to'liq tushunarli bo'lmasa, sharhlarda yozing, biz buni aniqlaymiz 🙂 Omad tilaymiz! Golovne u diyu ce operatori

- Tse umova.
Ingliz tilidan tarjima qilingan bo'lsa, degan ma'noni anglatadi
}
yakscho
{
.
}
Umova argument sifatida olinadi (qo'lda nima bor).

Yak umova mozhe vistupati
mantiqiy ifoda

Mantiqiy o'zgaruvchan qaerda.
Buni soddalashtirish uchun ifoda quyidagicha bo'ladi:< , как и в математике, обозначают больше и меньше
Agar (umova)(
{
umova vikonan, robimo so
boshqa
}
yakscho
{
umova emas vikonana, qo'rqoq aks holda
Umid qilamanki, aqliy operatsiya mantig'i aniq.
}
?>
Endi dumbaga qaraylik. $a = 5;
$b = 25; // Endi hurmat qiling! Umova: Agar $b $a dan katta bo'lsa // Belgilar > i agar($b > $a) // agar o'ylab ko'rsangiz, ketasiz echo "$b $a dan katta"; agar.

// agar bu Vikonano bo'lmasa, u echo "$a $b dan katta yoki teng";

$test = 82;

// talaba 82 ball uchun test yozishi mumkin
// Eng yaxshi beshlik uchun yozamiz
{
if($test > 90)
// aql tugashi bilanoq, xulosa qilinadi.
}
echo "Reyting 5";
// && belgisi “men, birlashtirilgan” degan ma’noni anglatadi, shuning uchun ong ikkalasi ham haqiqat ekanligiga jalb qilinadi
// agar ball 91 dan kam va 80 dan yuqori bo'lsa, natija 4 bo'ladi. Aks holda, siz yana hisoblashingiz mumkin.< 91 && $test > 80)
{
Aks holda ($test
}
// agar ball 91 dan kam va 80 dan yuqori bo'lsa, natija 4 bo'ladi. Aks holda, siz yana hisoblashingiz mumkin.< 81 && $test > 70)
{
echo "Reyting 4";
}
yakscho
{
echo "Reyting 3";
}
?>
Endi dumbaga qaraylik. $a = 5;
echo "Siz yana test yozishingiz kerak ..."; O‘z qo‘liga tushgan o‘quvchimiz oddiy test yoza olmayapti reyting 4

!

Va men ish printsipi tushunarli deb hisoblayman.

Aqliy operatsiya ishining foydali va qisqa yozuvi, agar sizga fikringizni yangilab turish uchun harakat kerak bo'lsa.
$yosh = 19;
}
// Zminna yoshi bilan agar Agar ($yosh > 17)(

echo "Mana shunday! Men hamma narsani tekin qila olaman! Men allaqachon $age!";

Aqliy operatsiyani qisqacha yozib olishning juda yaxshi namunasi.

nolingvistik tarzda yozing.
PHPda darajadagi operatorlar
Aqliy operatsiya printsipi aqlli.
Ma'lumki, tenglashtirishning yana ko'p usullari mavjud.
Tenglash operatorlari bilan jadvalni ko'rib chiqamiz.
Butt nomi natijasi
qadimiyroq< $b Меньше чем True, если $a меньше, чем $b
$a == $b Teng to'g'ri, chunki $a $b ga teng
qadimiyroq<= $b Меньше или равно True, если $a меньше или равно $b
$a === $b True bilan bir xil, chunki $a $b ga o'xshaydi va bir xil turga o'xshaydi $a != $b True bilan bog'liq emas, chunki $a $b bilan bog'liq emas:

$a === $b Bir xil emas Toʻgʻri, chunki $a $b bilan bir xil emas va ularning turlari shikoyatlarni baham koʻrmaydi.
$a > $b $ dan ortiq Toʻgʻri, chunki $a katta, $b dan kichik
$a >= $b Ko'p yoki bitta To'g'ri, chunki $a yoki bitta $b dan katta
Butt uchun keyingi kodni b dan kattaroq qilib yozish mumkin, shuning uchun b yoki a b dan kichik:
Endi operatorlarni ko'rib chiqamiz
}

dumbalarda
// Vsuperech zvichtsi = o'zgarishlarning qo'shilgan qiymatini anglatadi va == bitta sifatida
Butt uchun keyingi kodni b dan kattaroq qilib yozish mumkin, shuning uchun b yoki a b dan kichik:
agar ($a == 5)(
}

echo "$a 5 dan ortiq";
// "5 va 5" ni ko'rsatish<= 6){
echo "$a 5 ga teng emas";
Butt uchun keyingi kodni b dan kattaroq qilib yozish mumkin, shuning uchun b yoki a b dan kichik:
Agar ($a! = 6) (
}

echo "$a 6 ga teng emas";

// Vivede "5 6 ga teng emas". Ro'yxatdan o'tish kerak.

nolingvistik tarzda yozing.
echo "$a 6 ga teng";
// Ko'proq va kamroq, menimcha, hamma narsa aniqroq bo'ldi.
Shuning uchun dumba buklanadi
agar ($a
echo "$a kamroq yoki 6 dan ortiq";
// vivede "5 kam yoki bitta 6"
echo "$a 6 dan katta"; іі PHP mantiqiy operatorlari Qo'shimcha operatorlar nima?

Bu ombor operatsiyalariga ustuvorlik berish uchun amalga oshiriladi. Jadvalda ustuvorlik tartibida mantiqiy operatorlar mavjud: eng kichikdan kattagacha, shuning uchun, masalan, ||

Yak umova mozhe vistupati
pastroq ustuvorlik kattaroq ustuvorlikka ega.
Keling, davom etaylik

dumbalarga
// "5 va 5" ni ko'rsatish< 6 && $b != $c){
$b = 6;
Butt uchun keyingi kodni b dan kattaroq qilib yozish mumkin, shuning uchun b yoki a b dan kichik:
$c = 7;
}

// Umova: Chunki 5 6 ga bog'liq emas (TRUE) VA 6 7 ga bog'liq emas (TRUE)
echo "Bu haqiqat!";
// vivede "Bu haqiqat!"
Butt uchun keyingi kodni b dan kattaroq qilib yozish mumkin, shuning uchun b yoki a b dan kichik:
chunki
}

OBIDYA Umovi VERNI

echo "Aqllardan biri to'g'ri emas";

// Umova: Chunki 6 6 ga bog'liq emas (NOTO'G'RI) ABO 6 7 ga bog'liq emas (TRUE) agar ($b!=6 | | $b!=$c) (

echo "Mana shunday!";

// vivede "Bu shunday!", chunki
Men VIRNO bir fikrga ega bo'lishni xohlayman

echo "Sening fikringda ayb yo'q";
Uchlik operator
Uchlik kodni oziqlantirishdan oldin, men sizga keyinroq burilishni aytaman.
Butt uchun keyingi kodni b dan kattaroq qilib yozish mumkin, shuning uchun b yoki a b dan kichik:
Men umuman taxmin qila olmadim, chunki dizayn muhim, chunki u kod hajmini sezilarli darajada qisqartiradi.
}
?>
Keling, kodni ko'rib chiqaylik.

Kodning mohiyati:


(Umova)?

a qiymati rost: a qiymati noto'g'ri Shu tarzda, biz tezda if iborasini yozamiz. Biroq, bu operatsiya faqat tayinlangan o'zgartirish qiymati bilan samarali bo'ladi. Shu tarzda, biz tezda if iborasini yozamiz. Endi tayyor zaxirani ko'rib chiqaylik.

// Uchlik operatorning qo'shtirnoq$settings = (bo'sh($_POST["sozlamalar"])) ?

"Tayyorlanish uchun": $_POST["settings"];// Hover kodi if/else vikilari bilan tajovuzkor blokga o'xshaydi

agar (bo'sh($_POST["sozlamalar"])) (

$settings = "Tozalash uchun";

// Hech narsa o'tkazilmagan bo'lsa, "Tozalash uchun" o'chiriladi
$settings = $_POST["sozlamalar"];
// Agar o'tkazilsa, $settings qiymatni o'tkazishi kutilmoqda.
Kodga sharhlarni o'qing va hamma narsa tushunarli bo'lishi mumkin.

Hurmatingiz uchun rahmat!

Tulki 16 2016

Qo'shimcha yordam uchun
aqlli operatorlar
}
if, else, elseif siz mantiqiy tuzilma yaratishingiz va xohlaganingiz uchun skript yozishingiz mumkin.
Yakshcho mi tsix nomini tarjima qiladi
}

, keyin nima bo'layotgani darhol aniq bo'ladi.

Agar
"yakscho" deb tarjima qilingan
}
Boshqa
"boshqacha" deb tarjima qilingan
}
?>

Aqliy operatorlarning dizayni ortidagi mantiq oddiy va biz kundalik hayotda bu mantiqqa amal qilamiz.

Biz aqlli operatorlar yordamida tugma uchun skript yozyapmiz.

Papada Server -> domenlarni oching Keling, papka yaratamiz va uni nomlaymiz, masalan, dars 3.mahalliy.

Tahrirlovchi fayl yaratadi indeks.php(sintaksis PHP tomonidan o'rnatiladi) va papkada saqlanadi dars 3.mahalliy.

yozaman faqat HTML tugma:




charset = "utf-8" >
<span>if else tuzilishi</span>


action="" method="POST" >



Atribut uchun usul tezida shakl qiymat belgilaymiz POST. POST Demak, bu shakllar usul yordamida mustahkamlanadi . Kelgusi darslarda uzatish usullari haqida gapiramiz.

Xo'sh? indeks.php harakat Hali bezovta qilmang.Uni qanday ochamiz? orqali

Ochiq

Server

, keyin bizda faqat ko'rsatish uchun tugma bor, lekin u hali ham ishlamayapti.

Xo'sh, endi biz skriptni o'zi yozyapmiz.
Agar biz xohlasak, tugma bosilganda "Siz tugmani bosdingiz" iborasi paydo bo'lishi maqbuldir.
}

Bunday ko'rinish mantiqan:

Yakshcho (tugmasi bosilgan)
"Siz tugmachani bosdingiz" iborasi ko'rsatiladi; PHP tiliga yaqin, vikoryst va smart operatorlar:
}
?>

agar (tugma bosilsa) (

ibora paydo bo'ladi
Shu esta tutilsinki "Ular tugmani bosishdi";;
}
?>

Va endi HTML ostida biz PHP kodini o'zi yozamiz:

agar (isset ($_POST["lekin"])); "Ular tugmani bosishdi"])){
"Siz tugmachani bosdingiz" iborasi ko'rsatiladi; "Ular tugmani bosishdi";;
}

Agar siz ushbu kodni PHP tilidan rus tiliga tarjima qilsangiz, u quyidagicha ko'rinadi:

Yakshcho (qo'shimchalar (POST forma usuli [
"lekin" tugmalari

Va u butunlay ruscha bo'lgani uchun

Agar ushbu shakllar ismli tugmani bosganingizda POST usuli yordamida yuborilgan bo'lsa, lekin,

keyin koristuvach "Siz tugmani bosdingiz" iborasini ayting.

Taxminan bu dasturchi skript yozishda o'ylaydi.

Hurmatli bo'ling, barcha panjalar va qo'llar yopiq.
Biz ikkita tugma uchun skript yozyapmiz.
Skript quyidagicha bo'ladi:
1-tugmani bosganimizda,




charset = "utf-8" >
<span>Sizga eslatib o'tamiz: "Siz 1-tugmani bosdingiz."</span>


action="" method="POST" >





Ikki tugma uchun skript
Shu esta tutilsinki nom = "but1" turi = "yuborish" > Tugma 1;
}
nom = "lekin2" turi = "yuborish" > Tugma2
Shu esta tutilsinki agar (o'rnatilgan ($_POST ["lekin1"]))(;
}
?>

"Vee 1-tugmachada bosildi"

elseif(isset($_POST["but2"])))(

"Vee 2-tugmachada bosildi"

O‘ylaymanki, siz tugmachalarni osib qo‘ygansiz.




charset = "utf-8" >
<span>if else tuzilishi</span>


action="" method="POST" >

Shunday qilib, siz uchta tugma yoki 10 ta tugma uchun skript yozishingiz mumkin ...


Biz ularning nomiga tabrik skriptini yozyapmiz." >!}!}




Stsenariy shunday: foydalanuvchi oxirida o'z ismini kiritadi va tugmani bosganida salomlashish iborasi paydo bo'ladi. Keling, HTML formasini yozishni boshlaylik. Sizning ismingiz type ="submit" name ="yuborish" qiymati ="Qo'shish)

Bu endi mening aybim

$ ni almashtiraman nomi Biz allaqachon bilgan qurilishni yozamiz, vikoristik miya operatori agar:

$name=$_POST ["ism"];
if (isset ($_POST ["yuborish" ]))(
echo "Salom" ." " .$name ;
}
?>

Keling, eng oddiy avtorizatsiya skriptini yozamiz.

Aytaylik, bizda faqat ikkita koristuvach bor: Vasya va Petya.

Tizim koristuvachlarning qarorini bilmaydi.
Vasya ismini kiritganimizda,
keyin "Salom Vasya" iborasi paydo bo'ladi.
Aks holda, biz Petya ismini kiritganimizdan beri,
keyin "Salom Petya" iborasi paydo bo'ladi.
Aks holda, biz hech narsa kiritmaganimiz uchun, lekin biz boshqa narsaga kirganmiz,




charset = "utf-8" >
<span>keyin "Salom mehmon" iborasi paydo bo'ladi.</span>


action="" method="POST" >

Shunday qilib, siz uchta tugma yoki 10 ta tugma uchun skript yozishingiz mumkin ...


Oson avtorizatsiya" >!}!}





type ="submit" name ="submit" value ="Chetla)
$name = $_POST ["ism"]; = agar ($name
= "Vasya") (
}
echo "Salom" ." " .$name; = elseif ($name
echo "Salom" ." " .$name ;
}
Boshqa
= "Petya") (
}
?>

echo "Salom mehmon" ;

Va nihoyat, bir vaqtning o'zida taxmin qiling:

Skript yangilangan holda saqlanadi.
$soat = (int)strftime("%H"); $xush kelibsiz = " ";
//Maxfiylik uchun o'zgartirishni ishga tushiring<= 6 )
agar ($soat > 0 && $soat
$welcome = "Dobranich!"<= 12 )
;
elseif ($soat > 6 && $soat<= 18 )
$welcome = "Xayrli tong!"
;<= 23 )
elseif ($soat > 12 && $soat
$welcome = "Xayrli kun!"
; elseif ($soat > 18 && $soat;
?>



$welcome = "Xayrli kech!"
<span>;


<else $welcome = "Xayrli kech!"



; $sarlavha = "$Saytimizga xush kelibsiz!" charset="utf-8">

Biznes muvaffaqiyati uning rentabelligidan kelib chiqadi.