آگهی
article

دستورات شرطی (Conditional Statements) در PHP

php-else-if

دستورات شرطی (Conditional Statments) یکی از پرکاربردترین مفاهیم در دنیای زبان های برنامه نویسی و از جمله در برنامه نویسی وب و PHP به شمار می روند، در یک تعریف ساده با این دستورات برقرار یا برقرار نبودن شرطی را در یک مقایسه بررسی می کنیم و بر اساس مثبت (true) یا منفی (false) بودن پاسخ، مطابق با خواست و نیازمان در دو راهی های برنامه ها تصمیم گرفته و فرآیندی را انجام می دهیم، به طور مثال در دنیای واقعی می گوییم اگر تمرین کافی داشته باشیم موفق می شویم و در غیر اینصورت شکست خواهیم خورد یا اگر هوا کاملا صاف و آفتابی باشد به کوهنوردی می رویم در غیر اینصورت اگر هوا بارانی نبود به جنگل خواهیم رفت و در غیر اینصورت در خانه خواهیم ماند!، البته تطبیق دقیق دستورات برنامه نویسی با رویدادهای دنیای واقعی خالی از اشکال نیست اما برای شروع بد نیست بدانیم که مشابه این نوع ارزیابی ها در برنامه نویسی وب و به طور خاص در PHP با دستورات شرطی شامل if، else و elseif صورت می گیرد.

دستور شرطی if در PHP


نخستین عبارت کلیدی که در دستورات شرطی استفاده می شود "اگر" است که در برنامه نویسی به صورت "if" به کار می رود، با دستور if درستی یا نادرستی پاسخ ارزیابی شرطی را در مقایسه بررسی می کنیم، به طور مثال اگر متغیری با نام status برای تعیین وضعیت ثبت نام کاربران داشته باشیم و بخواهیم بررسی کنیم که آیا متغیر status برابر 1 است یا خیر، به صورت ساده می نویسیم: اگر (if) متغیر status برابر با 1 باشد (رابطه true باشد) دستورات بین {} را اجرا کن:
<?php
$status = 1;
if($status == 1) {
    echo "کاربر گرامی شما در سایت ثبت نام کرده اید!";
}
?>
بر اساس مثال بالا مقدار پیش فرض متغیر status برابر 1 تعریف شده و بررسی رابطه  if درست (true) خواهد بود در نتیجه دستورات بین علامت های {} اجرا خواهند شد، اما در مثال زیر بررسی رابطه if مقادیر نادرست (false) خواهد داشت، چرا که وضعیت ثبت نام کاربر 1 است اما در ارزیابی گفته ایم که اگر وضعیت او 1 نبود دستورات را انجام بدهد.
<?php
$status = 1;
if($status != 1) {
    echo "کاربر گرامی شما هنوز در سایت ثبت نام نکرده اید!";
}
?>
همانطور که در بحث عملگرها (Operators) در PHP گفتیم، عملگر == یعنی دو طرف رابطه برابر باشند و عملگر =! یعنی دو طرف رابطه برابر نباشند، در نمونه کد بالا دستورات بین علامت های {} اجرا نخواهند شد چرا که شرط آن برقرار نیست (متغیر status برابر 1 است و مقایسه نابرابر بودن آن false خواهد بود).

دستور شرطی else در PHP


شاید از خود بپرسیم اگر شرط if درست (true) نشد آنوقت تکلیف چیست؟! برنامه نویس خوب باید حساب همه چیز را کرده باشد و این چیزی است که شکل پیشرفته آن را هوش مصنوعی می نامند، پس باید شرایط بعد از برقرار نبودن رابطه if را هم تعریف کنیم، برای این کار از دستور شرطی else به معنی "در غیر اینصورت" استفاده می کنیم.
else در واقع جایگزینی برای if است یعنی اگر رابطه if درست نباشد (false باشد)، آنگاه مقادیر بین علامت های {} در else اجرا می شود، مثال زیر گویا است.
<?php
$status = 1;
if($status == 0) {
    echo "کاربر گرامی شما هنوز در سایت ثبت نام نکرده اید!";
} else{
    echo "کاربر گرامی شما در سایت ثبت نام کرده اید!";    
}
?>
نمونه کد بالا به صورت ساده اینطور تفسیر می شود:
متغیر status در خط اول برابر 1 تعریف شده است، آنگاه در دستور if برابر بودن status با 0 بررسی می شود، اگر رابطه درست باشد (یعنی کاربر هنوز در سایت ثبت نام نکرده باشد)، مقادیر بین {} در بررسی if اجرا می شود و نوبت به else نمی رسد، اما اگر کاربر قبلا در سایت ثبت نام کرده باشد، ارزیابی رابطه if اول صحیح نیست (چون رابطه می گوید اگر status برابر 0 باشد در حالی که مقدار پیش فرض status را برابر 1 تنظیم کرده ایم) در نتیجه نوبت اجرای دستور else است که پیام "کاربر گرامی شما در سایت ثبت نام کرده اید!" را نمایش می دهد.
مثالی دیگر:
<?php
$country = "ایران";
$state = "شمال";
if($country != '' && $state != ''){
    echo "کاربر گرامی شما از کشور $country و منطقه $state هستید.";
} else{
    echo "کاربر گرامی لطفا نام کشور و منطقه را انتخاب نمائید!";
}
?>
همان طور که حدس زدید نتیجه اجرای نمونه کد بالا به شکل زیر خواهد بود:
کاربر گرامی شما از کشور ایران و منطقه شمال هستید.
برای بررسی بیشتر کافی است کد بالا را در لوکال هاست یا سرور در یک فایل PHP درج کرده و در مرورگر فراخوانی و اجرا کنیم تا نتیجه کار را ببینیم.

دستور شرطی elseif در PHP


دستور elseif به معنی "در غیر اینصورت اگر" مرحله ای مابین دستور if و else است، به فرض اگر بخواهیم قبل از خاتمه دادن به شرط if با دستور else، چند ارزیابی دیگر را نیز انجام دهیم از elseif استفاده می کنیم، هر شرط elseif با نادرست شدن ارزیابی شرط if (یا elseif) قبل از خود بررسی می شود، اگر نتیجه بررسی شرط elseif نادرست و false شود قاعدتا مفسر PHP از آن عبور کرده و ادامه کدها پردازش می شوند، به طور مثال:
<?php
$num = 1000;
$max = 2000;
if($num > $max) {
    echo "متغیر num از max بزرگتر است!";
} elseif($num == $max) {
    echo "متغیر num با max برابر است!";
} else{
    echo "متغیر num از max کوچکتر است!";
}
?>
خروجی:
متغیر num از max کوچکتر است!
در نمونه کد بالا بر اساس متغیرهای تعریف شده نتیجه ارزیابی دستورات if و elseif نادرست خواهد بود و در نتیجه بخش سوم یعنی else اجرا می شود، در مثال زیر کد را به نحوی تغییر داده ایم تا قسمت دوم یعنی elseif اجرا شود:
<?php
$num = 2000;
$max = 2000;
if($num > $max) {
    echo "متغیر num از max بزرگتر است!";
} elseif($num == $max) {
    echo "متغیر num با max برابر است!";
} else{
    echo "متغیر num از max کوچکتر است!";
}
?>
خروجی:
متغیر num با max برابر است!
نکته مهم اینکه از دستور elseif می توانیم به هر تعداد که بخواهیم مابین if و else استفاده کنیم، مفسر PHP به ترتیب از بالا به پائین مورد به مورد برقرار بودن رابطه آنها را بررسی کرده و اگر یکی از ارزیابی ها درست (true) باشد مقادیر داخل علامت های {} اجرا شده و سلسله دستورات شرطی در همان نقطه خاتمه پیدا می کند.
<?php
$a = true;
$b = false;
$c = null;
if($a == false) {
    echo '$a == false';
} elseif($b == true){
    echo '$b == true';
} elseif($c != null){
    echo '$c != null';
} elseif($a == false || $b == false){
    echo '$a == false || $b == false';
} else{
    echo 'else{}';
}
?>
قاعدتا با توضیحات ارائه شده حدس نتیجه اجرای این کد چندان سخت نیست و آخرین elseif اجرا خواهد شد چرا که متغییر b برابر false مقداردهی شده است (در غیر اینصورت اگر متغیر a برابر با true یا متغیر b برابر با false باشد).

مختصرنویسی با عملگرهای سه گانه (Ternary Operators) در PHP


در برنامه نویسی پروژه های کاربردی به دلایل مختلف ممکن است نیاز به مختصرنویسی دستورات شرطی elseif ،if و else باشد که در پاسخ به این نیاز در اغلب زبان ها این هدف با عملگرهای سه گانه یا Ternary Operators تحقق می یابد، منظور از عملگرهای سه گانه ترکیب مقایسه با کاراکترهای ? و : است، در شیوه مختصرنویسی علامت ? جایگزین if و علامت : جایگزین else می شود، به طور مثال اگر دستور شرطی در حالت عادی به شکل زیر باشد:
<?php
$point = 14;
$num = 12;
if($point < $num) {
    echo 'if';
} else{
    echo 'else';
}
?>
شیوه مختصرنویسی آن به صورت زیر خواهد بود:
<?php
$point = 14;
$num = 12;
echo ($point < $num) ? 'if' : 'else';
?>
با ترکیب و توسعه این روش حتی می توانیم دستور شرطی else if را نیز به صورت مختصرنویسی بنویسیم، به طور مثال:
<?php
$point = 14;
$num = 14;
echo ($point < $num) ? 'if' : ($point <= $num) ? 'elseif' : 'else';
?>
استفاده از شیوه مختصر نویسی در برنامه نویسی دلخواه است و معمولا برای نوشتن شرط های ساده از آن استفاده می کنیم.
نکته: مختصر نویسی در زبان جاوا اسکریپت با برنامه نویسی PHP از لحاظ Syntax اندکی متفاوت است.
در جاوا اسکریپت:
(point < num) ? alert('if') : (point <= num) ? alert('else if') : alert('else');
در PHP:
echo ($point < $num) ? 'if' : ($point <= $num) ? 'elseif' : 'else';
sectionدسته بندی: آموزش مقدماتی » PHP
related مطالب بیشتر:
» توابع کار با آرایه در PHP - بخش سوم
» توابع (Functions) در PHP
» آرایه (Array) در برنامه نویسی PHP
» دستور switch و case در PHP
» توابع کار با آرایه در PHP - بخش اول
commentنظرات (۷۰ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: امیرحسین
زمان: ۰۴:۴۰:۴۶ - تاریخ: ۱۳۹۲/۰۵/۱۷
این کد را ببینید و تمام توضیحاتش رو بخونید یه خواهشی داشتم تو کد معلومه ممنون میشم ویرایش کنی واقعا دمتون گرم
<?php
$name1 = 55;
$name2 = 2;
$name3 = 5;
$name4 = 3;
$name5 = 500;
$name6 = 600;
//شرط اول: اگر نام 1 کوچکتر از نام 2 بود شرط دوم را اجرا کن | شرط اول درست نیست
if($name1 < $name2) {
//شرط دوم: اگر نام 3 بزرگتر از نام 4 بود متن زیر را چاپ کن که شرط دوم درست است ولی شرط اول درست نیست
if($name3 > $name4) {
echo 'نام 3 بزرگتر از نام 4 است';
}
//اگر شرط دوم درست نبود متن زیر را چاپ کن البته شرط دوم درست است ولی شرط اول درست نیست پس چاپ نمیشه اگر شرط اول هم درست بود چاپ میشد
else echo 'نام 3 بزرگتر از نام 4 نیست';
}
//در غیر این صورت اگر شرط اول و دوم درست نبود شرط سوم: اگر نام 5 کوچکتر از نام 6 بود متن زیر را چاپ کن که شرط سوم درست است پس چاپ میشه
else {
if($name5 < $name6) {
echo 'نام 5 کوچک تر از نام 6 است';
}
}
?>
حالا می خوام بدونم اگر شرط سوم هم درست نبود آن وقت موضوع چیست؟ هیچ متنی چاپ نمی شود لطفا خودتون یه شرط دیگه هم اضافه کنید که اگر شرط سوم درست نبود چاپ کنه "هیچ یک از شرط ها درست نیست" ممنون
پاسخ: 
می توانستید با ادامه دادن همین روند به راحتی شرط مورد نظر را ایجاد کنید، پاسخ سوالتان خیلی پیچیده به نظر نمی رسد:
else {
if($name5 < $name6) {
echo 'نام 5 کوچک تر از نام 6 است';
}
else echo 'هیچ شرطی درست نیست!';
}
نویسنده: امیرحسین
زمان: ۱۷:۰۶:۱۳ - تاریخ: ۱۳۹۲/۰۵/۱۷
سلام
خیلی ممنون اگه زیادی توضیح دادم شرمنده خیلی کمک کردین
نویسنده: samira
زمان: ۰۰:۵۸:۲۸ - تاریخ: ۱۳۹۲/۰۵/۱۹
با سلام و خسته نباشید من یه فرم ساختم که می خوام اگه کاربر ثبت نام کرده باشه خوش آمد گویی کنه در غیر این صورت به فرم قبلی برگرده میشه کمکم کنید؟ خواهشا یه کم زودتر مرسی
پاسخ: 
لطفا از طرح سوالات کلی خودداری کنید!
برای این کار باید با مبحث سشن ها و همچنین کار با MySQL آشنا باشید، دقیقا مشکل شما در کدام قسمت است؟ نمونه کد؟
نویسنده: ابوالفضل
زمان: ۰۲:۵۰:۱۵ - تاریخ: ۱۳۹۲/۰۵/۲۱
سلام میشه خواهش کنم کمکم کنید من می خوام اگر در یک متغیر فقط عدد چهار رقمی کمتر از 3000 بود یک پیام نمایش داده شود و اگر عدد 10 رقمی بود یک پیام دیگر نمایش داده شود همچنین می خوام اگر در متغیر علاوه بر عدد از حروف استفاده شده بود هیچ کدام از پیام های بالا نمایش داده نشود و یک پیام خطا نمایش داده شود...
از بابت سایت آموزشی عالیتون بی نهایت سپاسگذارم...
پاسخ: 
برای اینگونه موارد می توانید از تابع preg_match و عبارات با قاعده استفاده کنید، مثال:
<?php
$regex_4digit = '/^\d{4}$/';
$regex_10digit = '/^\d{10}$/';
$regex_strnum = '/[a-z @_\\-\*&%#\!]/';
$num = '1000000000';
if(preg_match($regex_4digit, $num) && $num < 3000){
echo '4 digit < 3000';
}
if(preg_match($regex_10digit, $num)){
echo '10 digit';
}
if(preg_match($regex_strnum, $num)){
echo 'str, str & num';
}
?>
نویسنده: ابوالفضل
زمان: ۱۵:۴۶:۱۱ - تاریخ: ۱۳۹۲/۰۵/۲۱
با سلام
بی نهایت ازتون سپاسگذارم. عالی بود
نویسنده: امیرحسین
زمان: ۱۰:۳۰:۱۲ - تاریخ: ۱۳۹۲/۰۶/۱۴
سلام دوست عزیز بابت لطفی که نسبت به بنده داشتین بسیار سپاسگذارم
<form method="post">
<select name="name">
<option>انتخاب</option>
<option value="ok">نمایش پنجره</option>
<?php
$name = $_POST['name'];
$mark = 'ok';
if($name == $mark){
echo "<script type='text/javascript'>alert('salam sina');</script>";
}
?>
</select>
<input type="submit" />
</form>
وقتی اپشن بر روی "انتخاب" قرار میگیره دکمه رو که زدی هیچ اتفاقی نمیفته ولی اگر بر روی "نمایش پنجره" قرار بگیره دکمه سابمیت که بزنی پنجره پیام نمایش داده میشه اما اگر بخواهیم آپشن بر روی "نمایش پنجره" قرار گرفت بدون زدن دکمه سابمیت متن پیام نمایش داده بشه این کار چگونه انجام میشه؟
پاسخ: 
انجام این کار به دو روش امکانپذیر است، اگر به انجام عملیات صرفا در سمت کاربر احتیاج دارید، می توانید یک تابع جاوا اسکریپتی بنویسید:
<script>
function showWin(){
alert('your text');
}
</script>
و آن را با رویداد فراخوانی کنید:
<option onclick="showWin();">نمایش پنجره</option>
اما اگر نیاز به ارسال فرم و چاپ خروجی است، می توانید از تابع زیر برای ارسال فرم استفاده کنید:
<script>
function submitForm(name){
document.forms[name].submit();
}
</script>
فراخوانی:
<option onclick="submitForm('test');">نمایش پنجره</option>
نکته: در این حالت لازم است که یک name و id به فرم خود اختصاص دهید (test نام فرضی فرم است).
نویسنده: امیرحسین
زمان: ۱۸:۰۳:۰۴ - تاریخ: ۱۳۹۲/۰۶/۱۴
ببین من یه فرم تماس درست کردم که اطلاعات رو وارد می کنی به ایمیلت ارسال میشه ولی من وارد می کنم بهم هیچ میلی نمیاد ببین مشکل از چیه
<form method="post" action="?send">
نام و نام خانوادگی<br />
<input name="matn[نام و نام خانوادگی]" type="text" /><br />
<input class="submit" type="submit" value="ارسال پیغام" />
</form>
<?php
if(isset($_GET['send'])){
extract($_POST);
$to = 'amir_sibtarh@yahoo.com';
$subject = 'تماس با مدیر سایت';
$from = 'info@patoghbaz.ir';
foreach($matn as $key => $val){
$message = '<p>' . $key .'</p><p>' . $val . '</p>';
$headers = "From: $from\r\n" . "Content-type: text/html; charset='utf-8'\r\n";
}
if(mail($to, $subject, $message, $headers)){
echo "<span id='sent'>پیغام شما با موفقیت ارسال گردید</span>";
}
else{
echo "<span id='err'>در ارسال پیغام مشکلی وجود دارد</span>";
}
}
?>
بسیار ممنون نمیدونم معذرت خواهی کنم یا تشکر موفق باشید
پاسخ: 
استفاده از تابع mail در PHP روش قابل اطمینانی برای ارسال ایمیل نیست، باید از SMTP استفاده کنید که آموزش مفصلی در رابطه با آن در سایت منتشر شده، در بخش جستجو عبارت "ایمیل" را وارد کنید.
نویسنده: میترا
زمان: ۲۱:۱۸:۵۵ - تاریخ: ۱۳۹۲/۰۹/۰۴
سلام. اگه بخوام این رو حل کنم چیکار کنم؟حق بیمه برای کارمندان رسمی در صورتی که مجرد باشند اگر حقوق پایه زیر یک میلیون تومان باشد 5% وگرنه 8% و درصورتی که متاهل باشند اگر حقوق پایه زیر یک میلیون تومان باشد 8% وگرنه 10% می باشد
برای کارمندان پیمانی ، اگر حقوق پایه زیر یک میلیون تومان باشد ، درصورتی که مجرد باشند 2% و درغیر این صورت 3% و درصورتی که حقوق بالای یک تومان باشد ، درصورتی که مجرد باشند 3% و در غیر این صورت 4% می باشد.
پاسخ: 
دقیقا نمی دانیم به چه نحوی قصد استفاده از دستورات شرطی را دارید، اما با توجه به اطلاعات داده شده می توان شرط را به صورت زیر تعریف کرد:
<?php
//پیش فرض
$employment = 'official';
$insurance = 0;
$marital = false;
$salary = 1000000;
//رسمی
if($employment == 'official'){
if($marital == false){
if($salary < 1000000){
$insurance = 0.05;
}
else{
$insurance = 0.08;
}
}
else{
if($salary < 1000000){
$insurance = 0.08;
}
else{
$insurance = 0.10;
}
}
}
//پیمانی
else{
if($marital == false){
if($salary < 1000000){
$insurance = 0.02;
}
else{
$insurance = 0.03;
}
}
else{
if($salary < 1000000){
$insurance = 0.03;
}
else{
$insurance = 0.04;
}
}
}
//خروجی
echo $insurance;
?>
نویسنده: abdullah
زمان: ۱۳:۲۷:۱۲ - تاریخ: ۱۳۹۲/۰۹/۰۵
سلام
بنده میخوام شرط بذارم اگه اول بود اجرا بشه نباشه بره دومی اجرا شه. ممنون میشم کدش رو سریع بذارید و با ایمیل اطلاع بدید.
اولی:
<?php NESTED_thumb_image();?>
دومی:
<?php dp_attachment_image($post->ID, 'thumbnail', 'alt="' . $post->post_title . '"'); ?>
پاسخ: 
سوالتان واضح نیست! لطفا با جزئیات بیشتر و دقیق تر سوالتان را مطرح کنید.
نویسنده: abdullah
زمان: ۱۲:۲۸:۵۱ - تاریخ: ۱۳۹۲/۰۹/۰۷
دو خط بالا برای تصاویر بند انگشتی هستند.
بنده میخوام اگه تصویر بندانگشتی واسه تابع اولی اجرا شد دستور دومی اجرا نشه. اگه دستور اولی نیاورد بره دستور دوم را اجرا بکنه.
پاسخ: 
این کار به چیزی فراتر از دستورات شرطی احتیاج دارد، در واقع باید توابع در صورت اجرای ناموفق مقادیر false را برگردانند، در این صورت می توان نوشت:
if(NESTED_thumb_image()){
}
else{
dp_attachment_image($post->ID, 'thumbnail', 'alt="' . $post->post_title . '"');
}
نکته: مشخص نیست کدهای شما مربوط به چه سیستمی است، ممکن است سیستم مربوطه محدودیت هایی از این نظر داشته باشد که به راحتی نتوانید تغییرات اینچنینی را اعمال کنید.
نویسنده: R3za
زمان: ۰۹:۴۰:۲۴ - تاریخ: ۱۳۹۲/۰۹/۱۷
سلام و خسته نباشید من این کد رو نوشتم خیلی هم تغییرش دادم که اجرا بشه ولی نمی شه
این کارش این هست که اگر If درست بود تصویر رو نمایش بده همه چیزش درست ولی قسمت src تصویر کار نمی کند
<?php
$big = $_POST['imgbig'];
$small = $_POST['imgsmall'];
$titlealt = $_POST['imgsmalltitle'];
$img = '<img style="width: 160px;margin-right: -10px;height: auto;box-shadow: 0 0 5px;cursor: pointer;`" src="echo $small" rel="tooltip`" >';
if ($small == $big){}
else
{
echo $img;
}
?>
پاسخ: 
هرچند دقیقا نمی دانیم چه مقادیری را از طریق متد POST ارسال می کنید، اما به نظر ویرایش سورس به صورت زیر مشکل شما را حل می کند:
<?php
$big = $_POST['imgbig'];
$small = $_POST['imgsmall'];
$titlealt = $_POST['imgsmalltitle'];
$img = '<img style="width: 160px; margin-right: -10px; height: auto; box-shadow: 0 0 5px; cursor: pointer;" src="'.$small.'" rel="tooltip">';
if ($small == $big){
}
else{
echo $img;
}
?>
نکته: باید کدهای PHP را طوری تنظیم کنید که خروجی HTML استاندارد تولید کند.
نویسنده: مریم
زمان: ۱۷:۰۹:۱۱ - تاریخ: ۱۳۹۲/۰۹/۱۷
میشه لطفا من راهنمایی کنین. من xammp نصب کردم mysql و apache رانینگ کردم فایل html و php داخل httpdocs ریختم ولی localhost/phpmyadmin تو مرورگرم مینویسم تو database نمیره میشه راهنمایم کنین لطفآ
پاسخ: 
حل این مشکل نیاز به بررسی فایل log برنامه دارد، می توانید از کنترل پنل xammp وضعیت شروع سرور Apache و MySQL را بررسی کنید، به طور مثال ممکن است پورت 80 برای لوکال هاست و 3306 برای دیتابیس در دسترس نباشند و... در صورتی که قادر به تشخیص خطا و رفع آن نبودید، توصیه می کنیم از برنامه WampServer استفاده کنید.
نکته: دقت کنید که برنامه ها و افزونه های زیر در سیستم نصب شده باشند:
Microsoft Visual C++ 2008 برای PHP 5.5.6
Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)
نویسنده: سعید
زمان: ۲۳:۱۴:۳۱ - تاریخ: ۱۳۹۲/۱۲/۰۷
سلام
من یک تابعی می خواهم مثلا یک عدد داریم مثل
91269003260039
می خواهم فقط 3 رقم اول را چک کند مثلا برای این
اگر 3 عدد اول 912 بود ورودی بهمن 91 چاپ شود اگر
91169003260039
3 عدد اول 911 بود ورودی مهر 91 چاپ شود
ممنون می شوم اگر کمکم کنید
مرسی
پاسخ: 
با ترکیب تابع substr و دستورات شرطی به راحتی می توانید این کار را انجام دهید، نمونه کد:
<?php
$num = 91269003260039;
$start = substr($num, 0, 3);
//echo $start;
if($start == 911){
echo 911;
}
elseif($start == 912){
echo 912;
}
else{
echo 'Invalid Number!';
}
?>
نویسنده: بهنام
زمان: ۱۳:۵۰:۴۱ - تاریخ: ۱۳۹۲/۱۲/۰۹
سلام خدا قوت.
من یه فرم تماس درست کردم با پی اچ پی
if(Code == '' || Name == '' || Mail == '' || Subject == '' || Msg == ''){
echo 'لطفا فیلد را خالی نگذارید';
}
مثلا اگه من خیلی فیلدام زیاد باشه باید در کد بالا نام تک تک فیلدا رو وارد کنم و این کار رو بکنم راه آسانتری وجود ندارد مثلا به این صورت
if((Code || Name || Mail || Subject || Msg) == ''){
//
}
پاسخ: 
خیر، در PHP حالت دوم قابل قبول نیست، البته روش های دیگری مانند استفاده از switch case یا ایجاد آرایه از متغیرها و بررسی مقدار کلیدها هم می تواند در جای خود استفاده شود.
نویسنده: MWeb
زمان: ۱۸:۲۰:۳۳ - تاریخ: ۱۳۹۳/۰۱/۰۶
ممنون
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ خاصی داده نخواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لذا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.




9 × 1
 refresh
نکته:
با توجه به تاریخ نگارش آموزش های سایت و پیشرفت تکنولوژی های مرتبط با وب در سالیان اخیر، محتوای برخی از مطالب قدیمی ممکن است نیاز به ویرایش و به روزرسانی داشته باشد که این کار هم زمان با تهیه نسخه جدید «وبگو» به مرور در حال انجام است، لطفا در استفاده از مطالب سایت به این نکته دقت داشته و حتی المقدور از چند منبع مختلف استفاده نمائید.
آخرین دیدگاه ها
form مجید بیگلوئی
در:
با سلام میخوام فایل پیوست بسازم برای اسکریپت وبلاگ از کد زیر استفاده میکنم تا فایل را آپلود و اطلاعات را به دیتابیس ارسال...
۱۰:۰۲:۵۸ ۱۳۹۸/۱۲/۰۶

form پیمان نقی پور
در:
سلام میخواستم بدونم فیلتر نویسی بورس هم با همین زبان جاوا انجام میشه؟ چطور میشه شرطی تعیین کرد تا نتیجه فیلتر در هنگام...
۱۸:۲۱:۳۲ ۱۳۹۸/۱۲/۰۵

form mahdi
در:
سلام استاد ، css رو تسلط کامل دارم تا حدودیش هم به لطف شما و جاوا اسکریپت هم چند روزی میشه شروع کردم به آموزش...
۱۵:۴۸:۳۳ ۱۳۹۸/۱۲/۰۵

form amin
در:
با سلام آدرس مطالب سایت وبگو بعد از ای دی پست عنوان فارسی هست ولی زمانی که به سورس کد پست نگاه میکنیم قسمت فارسی...
۱۴:۵۹:۴۴ ۱۳۹۸/۱۲/۰۵

form mahdi
در:
سلام استاد ، لینک آموزش مقدماتی جاوا اسکریپت توی منوی بالایی خرابه ، به وظیفه شهروندیم عمل کردم :)
۱۵:۰۹:۰۰ ۱۳۹۸/۱۲/۰۴

form aseman
در:
با سلام . میخوام هر وقت توی تکس باکسم عدد 1 وارد شد در خروجی تگ p معادل حروفی یک رو بهم بده. مثلا:...
۱۴:۴۵:۲۹ ۱۳۹۸/۱۲/۰۴

form mahdi
در:
سلام استاد ، گذاشتمش توی این وبلاگ رمزش هم ******* هستش ، واقعیت فهمیدم که میشه درستش کرد ولی چجوریشو نفهمیدم :) خیلی ممنون...
۱۳:۲۰:۱۴ ۱۳۹۸/۱۲/۰۴

form mahdi
در:
سلام استاد، وبلاگ ندارم، اینا رو برای یادگیری و یه هدف دیگه دارم سوال میکنم، مطالب مرتبط رو پیدا کردم راهشو، فقط قسمت ارسال نظر...
۲۰:۱۵:۰۲ ۱۳۹۸/۱۲/۰۳

form نیما
در:
سلام. من میخوام با استفاده از یک input مقدار عددی رو از کاربر دریافت کنم و بعد از ضرب در عددی خاص که خودم تعیین...
۱۸:۰۷:۰۴ ۱۳۹۸/۱۲/۰۳

form وحید
در:
سلام وقت بخیر حدود شش ماه هست با فیلتر شکن کار میکنم به اسم Lightvpn. یک روز هست این خطا رو میده و...
۱۸:۰۰:۰۶ ۱۳۹۸/۱۲/۰۳

form mahdi
در:
سلام ، استاد شرمنده یه سوال دیگه هم داشتم مثل قبلی ، مطالب مرتبط که انتهای هر پست میاد رو چطوری با جاوا اسکریپت توی...
۲۳:۴۶:۲۳ ۱۳۹۸/۱۲/۰۲

form mahdi
در:
سلام استاد عزیز ، توی لوکس بلاگ میشه چیزی مثل پست های شاخص که توی وردپرس هست با جاوا اسکریپت درست کنیم که مثلا داخل...
۲۳:۱۴:۴۰ ۱۳۹۸/۱۲/۰۲

form mahdi
در:
سلام استاد ، بخش نظرات قالب لوکس بلاگ یعنی طرح کل صفحش رو چطوری دسترسی داشته باشیم که خودمون بتونیم طراحیش کنیم ؟ منظورم اینه...
۱۸:۱۱:۳۳ ۱۳۹۸/۱۲/۰۱

form علیرضا سهیلی
در:
سلام من وقتی میخوام شارژ بزنم این کد واسم میاد معنیش یعنی چی
۱۴:۳۳:۱۴ ۱۳۹۸/۱۲/۰۱

form mahdi
در:
سلام استاد ، فهمیدم چطوریه نیازی به پاسخ نیست، چقدرم ساده بود :) مرسی
۰۹:۴۸:۴۹ ۱۳۹۸/۱۱/۳۰
آگهی