Yn PHP 8, mae tri math o brif ddatganiadau amodol: Os…Arall… ArallOs yw datganiadau yn ddatganiadau amodol. Yn yr erthygl hon, byddwch yn dysgu am ddatganiadau amodol PHP, o'r hanfodion i gymwysiadau soffistigedig.
Beth yw Datganiadau Amodol?
Datganiadau amodol PHP diffinio amod y mae'n rhaid ei fodloni er mwyn cyflawni'r bloc cod amodol. Pan fodlonir y datganiad amodol, symudir y pwyntydd cyfarwyddyd i'r datganiad cyntaf o fewn y bloc amodol. Os nad yw'r amod yn cael ei fodloni, mae'r pwyntydd cyfarwyddiadau yn hepgor y bloc cyfan o god ac yn mynd i'r datganiad nesaf y tu allan i'r bloc.
Mathau o ddatganiadau amodol PHP
Mae datganiadau amodol yn PHP 8 yn cael eu dosbarthu fel a ganlyn. Mae eu syniad craidd yn aros yr un fath; serch hynny, penderfyniad y datblygwr rhwng y rhain swynion yn cael ei benderfynu gan yr amgylchiad.
- If
- arall
- Arall Os
- Newid
Mae practis meddygol newid mae'r datganiad yn wahanol i'r tri cyntaf, felly, byddwn yn taflu goleuni ar y datganiad switsh ar ôl esbonio'r tri math cyntaf yn fanwl.
OS datganiad yn PHP
Yn PHP, rhoddir dadl i'r datganiad IF sydd naill ai'n wir neu'n anghywir. Pan fydd y ddadl yn wir, gweithredir bloc cod y datganiad. Os bydd y paramedrau'n dychwelyd ffug, ni fydd y llinellau bloc cod yn cael eu gweithredu.
if (condition) {
code block that will execute when the condition becomes true
}
<?php
$a = date("H");
if ($a < "10") {
echo "I am inside the if block!";
}
?>
Esboniad o enghraifft
- Mae'r newidyn a yn cael ei gychwyn gyda'r dyddiad. Mae'r unig awr gyfredol yn cael ei chymryd allan o'r dyddiad.
- Os defnyddir y datganiad i wirio a yw'r awr gyfredol yn llai nag 20.
- Os yw'r datganiad uchod yn dychwelyd yn wir. Mae'r neges wedi'i hargraffu.
Nodyn: Os ydych wedi drysu ynghylch cael yr Awr o'r dyddiad, gallwch fynd trwy'r erthygl Amser a Dyddiad.
Mae'r datganiad os yw'n gweithio'n eithaf da ar gyfer y penderfyniadau sengl, beth os oes datganiad arall y mae'n rhaid ei weithredu os daw'r amod yn ffug. Yn yr achos hwn, mae gennym OS ELSE yn amodol yn PHP.
OS Datganiad ELSE yn PHP
Gan ddefnyddio'r datganiad IF-ELSE, mae PHP yn caniatáu ichi drin sefyllfaoedd gwir a ffug datganiad amodol. Os nad yw'r amod a nodir yn y datganiad IF yn dychwelyd yn wir, gweithredir bloc cod y datganiad arall. Ystyriwch yr enghraifft ganlynol i gael gwell dealltwriaeth.
if (condition) {
code block;
} else {
code block;
}
$a = date("H");
if ($a < "10") {
echo "Inside if!";
} else {
echo "Inside else!";
}
Esboniad o'r enghraifft
- Yn yr enghraifft uchod, mae'r newidyn $ a yn cynnwys y dyddiad cyfredol. Roedd yr “H” a nodwyd yn y paramedr dyddiad yn nodi mai dim ond awr gyfredol y dydd yr ydym ei eisiau.
- Gwiriwch a yw'r awr gyfredol yn llai nag 20.
- Os nad yw'r awr gyfredol yn llai na 0 neu'n fwy nag ef, gweithredwch y bloc arall
Os oes gennych gyflyrau lluosog. defnyddio'r math amodol o ddatganiad amodol.
if (condition) {
code block if condition becomes true;
} elseif (condition) {
code block if else if becomes true;
} else {
code block if none of the above conditions becomes true;
}
$a = date("H");
if ($t < "20") {
echo "Inside first if!";
} elseif ($t < "20") {
echo "Inside else if!";
} else {
echo "Inside last else!";
}
Esboniad o'r enghraifft
- Yn yr enghraifft uchod, mae'r newidyn $ a yn cynnwys y dyddiad neu'r amser cyfredol.
- Yr amod cyntaf yw, Os yw'r Awr yn llai na 10, argraffwch “Cael bore da!”.
- Yr ail amod yw, Os nad yw'r amser cyfredol yn llai na 10, peidiwch â phoeni, mae datganiad Elseif yno i roi gwiriad am gyflwr arall sy'n $ a dylai fod yn llai nag 20.
- Os nad yw'r ddau ddatganiad yn dod o dan unrhyw amod, bydd y datganiad olaf arall yn gweithredu.
Newid datganiad yn PHP
Mae'r datganiad switsh yn rhedeg blociau cod amrywiol yn dibynnu ar y meini prawf. Mae'r datganiad switsh ond yn gweithredu'r datganiad sy'n achosi i'r switsh gael ei actifadu.
switch (cond) {
case label_1:
code block if cond=label_1;
break;
case label_2:
code block if cond=label_2;
break;
case label_3:
code block if cond=label_3;
break;
...
default:
code block if cond is different from all labels;
}
Mae'r switsh yn y gystrawen flaenorol yn archwilio cyflwr y cyflwr ym mhob amgylchiad. Pan fodlonir yr amod yn y label, mae'n gweithredu'r bloc cod sy'n gysylltiedig â'r achos hwnnw. Mae'r datganiad toriad yn stopio gwirio'r achos canlynol ar unwaith.
Beth yw'r rhagosodiad yn y datganiad switsh?
Mae diofyn yn diffinio, os nad oes achos yn bodloni'r amod yn y datganiad switsh, yna bydd y bloc cod o dan yr allweddair diofyn yn gweithredu.
Enghraifft o'r datganiad switsh
$color = "green";
switch ($color) {
case "white":
echo "Favorite color is white!";
break;
case "black":
echo "Favorite color is black!";
break;
case "green":
echo "Favorite color is green!";
break;
default:
echo "Favorite color does not belongs to white, black, or green!";
}
Holi ac Ateb
C: Beth yw datganiad amodol?
Mae datganiad amodol yn dechneg raglennu sy'n eich galluogi i redeg cod dim ond os bodlonir amod penodol.
C: Yn PHP, sut ydych chi'n ysgrifennu datganiad if?
A: Os defnyddir allweddair i ffurfio datganiad if, a ddilynir wedyn gan yr amod mewn cromfachau a set o braces cyrliog yn dal y cod i'w gweithredu os yw'r amod yn wir. Er enghraifft, os (cyflwr) / cod i'w berfformio;
C: Sut ydych chi'n ysgrifennu datganiad os-arall?
A: Mae'r allweddair os yn cael ei ddefnyddio i adeiladu datganiad os-arall, sydd wedyn yn cael ei ddilyn gan y cyflwr mewn cromfachau a set o braces cyrliog yn dal y cod i'w gweithredu os yw'r amod yn wir. Yna, os yw'r cyflwr yn anwir, mae allweddair fel arall yn cael ei ddilyn gan set o fracedi cyrliog sy'n cynnwys y cod i'w weithredu. os (cyflwr) / cod i'w berfformio os yn wir; arall / cod i'w weithredu os yw'n ffug;
C: Sut ydych chi'n ysgrifennu datganiad os-arall?
A: Mae'r allweddair os yn cael ei ddefnyddio i ffurfio datganiad os-arall, a ddilynir gan yr amod cyntaf mewn cromfachau a set o braces cyrliog yn cynnwys y cod i'w rhedeg os yw'r cyflwr yn wir. Yna daw allweddair elseif, ac yna'r ail amod mewn cromfachau a phâr o fresys cyrliog yn dal y cod a fydd yn cael ei berfformio os yw'r ail amod yn wir. Yn olaf, mae yna allweddair arall ac yna pâr o fracedi cyrliog yn dal y cod a fydd yn cael ei redeg os yw'r ddau gyflwr yn ffug. Enghraifft:
elseif (condition2) { // code to be executed if condition1 is false and condition2 is true; }
else { // code to be executed if both conditions are false; }
C: Sut ydych chi'n ysgrifennu datganiad switsh?
A: Cynhyrchir datganiad switsh trwy ddefnyddio'r allweddair 'switch,' ac yna'r gwerth i'w werthuso mewn cromfachau a chyfres o fracedi cyrliog ” sy'n cynnwys y casys amrywiol. Diffinnir pob achos gan yr allweddair 'case,' wedi'i ddilyn gan y gwerth i'w baru a cholon ':,' ac yn olaf y cod i'w redeg os yw'r cas yn cyfateb. Gellir defnyddio'r allweddair 'diofyn', wedi'i ddilyn gan colon ':' a'r cod i'w redeg os nad oes un o'r achosion yn cyfateb, i gyflwyno achos rhagosodedig.
C: Beth yw'r gwahaniaeth rhwng datganiad os-arall a datganiad switsh?
A: Y prif wahaniaeth rhwng datganiadau os-arall a switsh yw bod datganiadau os-arall yn asesu amgylchiadau niferus ac yn gweithredu cod yn briodol, tra bod datganiadau switsh yn cymharu gwerth sengl yn erbyn senarios lluosog ac yn gweithredu cod yn unol â hynny. Os yw datganiadau arall yn gallu delio ag unrhyw fath o gyflwr neu fynegiant, tra bod gosodiadau switsh ond yn gallu delio â mathau a llinynnau annatod.
Ymarferion:
- Sut ydych chi'n creu datganiad if yn PHP?
- Sut ydych chi'n creu datganiad os-arall yn PHP?
- Sut ydych chi'n creu datganiad os-arall yn PHP?
- Sut ydych chi'n creu datganiad switsh yn PHP?
- Beth yw'r gwahaniaeth rhwng datganiadau os-arall a switshis?
- Sut ydych chi'n defnyddio gweithredwr teiran i greu datganiad byr os-arall yn PHP?
Atebion:
if (condition) { // code to be executed; }
if (condition) { // code to be executed if true; } else { // code to be executed if false; }
if (condition1) { // code to be executed if condition1 is true; } elseif (condition2) { // code to be executed if condition1 is false and condition2 is true; } else { // code to be executed if both conditions are false; }
switch (value) { case value1: // code to be executed if value1 is matched; break; case value2: // code to be executed if value2 is matched; break; default: // code to be executed if none of the cases are matched; }
- Os yw datganiadau arall yn cael eu defnyddio i asesu llawer o amodau ac yna gweithredu cod, tra bod datganiadau switsh yn cael eu defnyddio i brofi gwerth sengl yn erbyn nifer o senarios ac yna gweithredu cod. Os yw datganiadau arall yn gallu delio ag unrhyw fath o gyflwr neu fynegiant, tra bod gosodiadau switsh ond yn gallu delio â mathau a llinynnau annatod.
$result = (condition) ? value_if_true : value_if_false;