三元运算符,是软件编程中的一个固定格式,即( ?: )(注:括号里面的内容才是正确的格式).
语法:条件 ? 结果1 : 结果2
说明:问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2.
实例代码如下:
- <?PHP
- $id = isset($_GET['id']) ? $_GET['id'] : false;
- ?>
一条代码替代了很多的代码.首先,它使用isset ()函数,检查$_GET['id']是否存在.如果$_GET['id']确实存在,它将返回它的价值.但是,如果它不存在,条件即为假,这时返回的是false.$id的值取决于$_GET['id']是否存在.所以,基本上,如果$_GET['id']存在,$id=$_GET['id'],反之$id=false.
用“?:”条件语句检验用户输入值:
实例代码如下:
- <?php
- $filename = isset($argv[1]) ? $argv[1] : "php://stdin";
- $fp = @fopen($filename, ‘r’) or die("Can’t Open $filename for reading");
- while (!@feof($fp)) {
- $line = @fgets($fp, 1024);
- print $line;
- }
- @fclose($fp);
- ?>
前面使用三元运算符的代码和下面的代码等同:
实例代码如下:
- <?php
- if (isset($argv[1])) {
- $filename = $argv[1];
- } else {
- $filename = "php://stdin";
- }
- ?>
可以看出,假设用普通的if-else结构写上述代码,代码量会比上面多出许多,但第二种形式更易理解,而且不要求更多的录入.所以在挑选三元运算符时,请务必权衡一下利弊.
三元运算符优点
PHP中的三元运算符(?:)大大减少了程序员写这些语句的时间.它的语法如下:
condition ? do_if_true : do_if_false;三元运算符不是一种必不可少的结构,但却是一种美化代码的途径.同样,它可以取代不好的if…else代码块,并且可以提高代码的可读性.同样,用户可以使用PHP的or运算服赋予变量默认值:
实例代码如下:
- <?php
- $filename = $argv[1] or $filename = "php://stdin";
- ?>
波比源码 » php中三元运算符用法详解
order levaquin levaquin order online
aldactone 25mg generic cheap finasteride oral diflucan
purchase ampicillin without prescription erythromycin 500mg canada erythromycin medication
order sildenafil 100mg online cheap buy bimatoprost pills buy methocarbamol online cheap
suhagra 50mg over the counter sildenafil 100mg over the counter order estrace pill
purchase lamotrigine pill buy retin cream for sale tretinoin cream over the counter
tadalafil 20mg without prescription diclofenac 100mg pill voltaren sale
cheap accutane 10mg buy generic azithromycin 500mg order azithromycin 250mg
buy cialis 20mg generic Get viagra fast sildenafil citrate 50mg
vrai tadalafil 5mg prix generique viagra 100mg viagra sans ordonnance en france
generic deltasone 20mg cialis 20 mg film-coated tablets tadalafil cheap sildenafil for sale
brand isotretinoin 20mg generic stromectol 3mg ivermectin 3
ramipril 10mg us buy temovate for sale azelastine 10 ml over the counter
terazosin sale purchase arava without prescription azulfidine tablet
alendronate 70mg pill buy paracetamol pills pepcid online
buy benicar generic olmesartan 20mg ca order diamox
buy prograf 1mg pill trandate 100 mg without prescription urso 300mg pills
buy isosorbide 40mg online purchase azathioprine without prescription micardis without prescription
buy molnupiravir 200 mg for sale buy naproxen 250mg pill prevacid usa
buy zoloft 100mg zoloft 100mg drug sildenafil online
salbutamol 100mcg drug proventil sale sildenafil 50mg over the counter
order revia online order aripiprazole without prescription abilify 30mg usa
avlosulfon 100mg without prescription avlosulfon 100 mg canada aceon 8mg over the counter
provera generic brand medroxyprogesterone brand periactin 4 mg
order isotretinoin 40mg generic buy amoxicillin order generic deltasone 10mg
purchase nootropil viagra 150mg free shipping viagra
zithromax order purchase zithromax generic order gabapentin 600mg for sale
buy tadalafil 5mg without prescription oral cialis 40mg sildenafil uk
lasix 100mg canada buy doxycycline 200mg buy hydroxychloroquine 200mg pill
cialis order clomipramine drug buy clomipramine for sale
order chloroquine generic oral cenforce buy olumiant 4mg without prescription
itraconazole order progesterone cost cost tindamax
buy glycomet 1000mg generic cialis 20mg canada order tadalafil online cheap
order clozaril 50mg pill decadron buy online purchase dexamethasone generic
buy viagra 100mg for sale sildenafil 50mg pills order lisinopril 10mg pill
order zyvox 600mg free poker online casino games real money
omeprazole 10mg usa poker online cash online blackjack free
buy generic metoprolol order lopressor without prescription buy generic vardenafil
vardenafil price order vardenafil 10mg generic methylprednisolone 4mg over counter
order priligy 90mg generic dapoxetine 90mg order synthroid 150mcg online cheap
tadalafil 40mg drug viagra 150mg for sale brand viagra 100mg
xenical 120mg price order diltiazem 180mg online cheap zovirax 800mg pills
purchase losartan pill esomeprazole 20mg brand buy topiramate 100mg generic
baclofen 25mg pill baclofen over the counter buy toradol pill
colchicine over the counter free spins no deposit required best online blackjack
zantac oral generic zantac order celebrex 100mg pill
cheap zocor 10mg valacyclovir oral finasteride usa
buy flagyl 200mg pills buy metronidazole 400mg for sale bactrim 960mg brand
order cephalexin online cheap buy cleocin 300mg online cheap buy erythromycin 250mg generic
cefuroxime 250mg drug methocarbamol 500mg canada methocarbamol oral
trazodone 100mg price order sildenafil generic aurogra 100mg ca
sildalis oral sildalis ca lamictal canada
prednisone cheap buy accutane without prescription buy amoxil 1000mg for sale
sildenafil 100mg oral buy viagra 50mg cialis 5mg for sale
online poker free poker games order generic cialis 40mg
order azithromycin 250mg online cheap cheap prednisolone 10mg oral neurontin
lasix 40mg cheap purchase plaquenil online cheap plaquenil 200mg generic
purchase fildena order tamoxifen 10mg without prescription budesonide pills
tretinoin cream drug buy avana 200mg pills brand avanafil 200mg
lamisil order online order trimox 250mg generic amoxicillin 500mg usa
proventil 100 mcg drug order cipro 1000mg sale buy ciprofloxacin 500mg online
cost tadalafil 10mg purchase cialis online cheap buy tadalafil 5mg for sale
nifedipine drug order nifedipine pills order allegra pill
us blackjack online pharmacy online shopping usa pay for term paper
altace 10mg over the counter order ramipril generic oral arcoxia
purchase doxycycline sale order doxycycline 200mg online cheap cleocin usa
asacol tablet buy avapro 300mg pills avapro cost
diamox 250 mg tablet order acetazolamide 250mg imuran drug
clobetasol order buy buspirone order cordarone generic
lanoxin online buy lanoxin 250 mg generic purchase molnupiravir generic
buy coreg generic order coreg 6.25mg for sale amitriptyline 10mg for sale
fosamax 35mg us order furadantin sale ibuprofen 400mg canada
dapoxetine generic purchase domperidone motilium price
indomethacin 75mg tablet cenforce 100mg for sale cenforce tablet
ropinirole 1mg ca order requip 2mg online trandate uk
Nice article inspiring thanks. Hello Administ . Metropol Halı Karaca Halı Öztekin ve Selçuklu Halı Cami Halısı ve Cami Halıları Türkiye’nin En Büyük Cami Halısı Fabrikasıyız…
purchase provigil generic buy stromectol 3mg generic buy promethazine 25mg online
clomid 50mg oral prednisolone 20mg uk prednisolone uk
buy sildenafil online pregabalin 150mg cheap order proscar 5mg generic
accutane 20mg canada accutane tablet buy ampicillin 500mg sale
ondansetron 8mg canada purchase zofran online order bactrim pill
buy stromectol europe prednisone 5mg sale cost deltasone 40mg
albuterol online order amoxiclav cheap cost augmentin 625mg
order modafinil 100mg generic buy modafinil 100mg sale metoprolol 100mg ca