رفتن به مطلب
soma

سوال درباره استفاده از عملگر های AND و OR

پست های پیشنهاد شده

سلام ، سوالی برام پیش اومده در مورد استفاده از عملگرهای and  و or در php 

البته نمیدونم در این انجمن در بخش مناسبی دارم این سوالم رو میپرسم یا خیر ...

لطفا کد زیر رو ببینید آیا با چیزی که میخوام میتونه درست باشه ؟

به این صورت که  گزینه test خودش دو بخش داره به نام های  advance و elementary ، حالا میخوام در صورتی که گزینه تست true هست و حتما یکی از دو $test_type مد نظرم انتخاب شده باشه تا اون شرط های دلخواهم اتفاق بیافته 

if ( my_name_prop_test_options == 'test' && $test_type == 'advance' || $test_type == 'elementary') {
شروط دلخواه من 
}

یا اینکه بهتره به این ترتیب جداشون کنم : 

if ( my_name_prop_test_options == 'test' && $test_type == 'advance') {
شروط دلخواه من 
}
if ( my_name_prop_test_options == 'test' && $test_type == 'elementary') {
شروط دلخواه من 
}

 و یا اینکه کلا شیوه بهتری از این وجود داره و میشه ازش استفاده کرد؟ 

لطفا راهنمایی کنید 

ویرایش شده توسط soma

به اشتراک گذاری این ارسال


لینک به ارسال

سلام و درود @soma

 

اولی درسته ولی من معمولا این کار رو میکنم.

if ( $my_name_prop_test_options == 'test' && in_array($test_type, array('advance', 'elementary')) )
{
	
	// TODO
	
}

 

به اشتراک گذاری این ارسال


لینک به ارسال
در 48 دقیقه قبل، mehran-b گفته است :

سلام و درود @soma

 

اولی درسته ولی من معمولا این کار رو میکنم.


if ( $my_name_prop_test_options == 'test' && in_array($test_type, array('advance', 'elementary')) )
{
	
	// TODO
	
}

 

بسیار ممنون 

حالا فرض کنید که شروط بالا انجام شده ، در یک شرط دیگر مطابق کد زیر ، اگه بخوایم برای دو گزینه advance و elementary در یک جایی به صورت مجزا چیزی رو نمایش بدن ، بهترین حالت کد به چه صورتی باشه بهتره : 

if ( $my_name_prop_test_options == 'test'){
    // میخواهم که این کد فقط زمانی که advance فعال هست نمایش داده بشه
	$my_name_prop_test = get_post_meta( $post_id, 'my_name_prop_test', true );
   // میخواهم که این کد فقط زمانی که elementary فعال هست نمایش داده بشه
	$my_name_prop2_test = get_post_meta( $post_id, 'my_name_prop2_test', true );
	$my_name_prop3_test = get_post_meta( $post_id, 'my_name_prop2_test', true );

} else if ( $my_name_prop_test_options == 'on-test2' ) {
  $my_name_prop_test = wp_rem_plugin_text_srt( 'my_name_prop_test_on_request' );
}

 سعی کردم با یک شرط دیگه این کار رو انجام بدم ولی موفق نشدم 

 

ویرایش شده توسط soma

به اشتراک گذاری این ارسال


لینک به ارسال

یعنی میتونم به این صورت کد ها رو بنویسم ؟ 

if ( $my_name_prop_test_options == 'test') && $test_type == 'advance'  ) {
      $my_name_prop_test = get_post_meta($test_id, 'my_name_prop_test', true);
 } 
 if ( $my_name_prop_test_options == 'test') && $price_type == 'elementary') { 
	 $my_name_prop2_test = get_post_meta($test_id, 'my_name_prop2_test', true);
	 $my_name_prop3_test = get_post_meta($test_id, 'my_name_prop3_test', true);
 } else if ( $my_name_prop_test_options == 'on-test2' ) {
  $my_name_prop_test = wp_rem_plugin_text_srt( 'my_name_prop_test_on_request' );
}

یا اینکه برای elementary هم از else if باید استفاده  بشه ؟ مثل کد زیر : 

if ( $my_name_prop_test_options == 'test') && $test_type == 'advance'  ) {
      $my_name_prop_test = get_post_meta($test_id, 'my_name_prop_test', true);
 } else if ( $my_name_prop_test_options == 'test') && $price_type == 'elementary') { 
	 $my_name_prop2_test = get_post_meta($test_id, 'my_name_prop2_test', true);
	 $my_name_prop3_test = get_post_meta($test_id, 'my_name_prop3_test', true);
 } else if ( $my_name_prop_test_options == 'on-test2' ) {
  $my_name_prop_test = wp_rem_plugin_text_srt( 'my_name_prop_test_on_request' );
}

 

در مورد شرط ها اینکه تعداد زیادی شرط رو به صورت تو در تو و چندگانه نوشته بشه  درست هست ؟ 

 

ویرایش شده توسط soma

به اشتراک گذاری این ارسال


لینک به ارسال
در 39 دقیقه قبل، soma گفته است :

یعنی میتونم به این صورت کد ها رو بنویسم ؟ 

زیاد قانون خاصی وجود نداره هر کدی که به نظرتون درست داره عمل میکنه درسته مگر عملکرد اشتباهش اثبات شه.

در 43 دقیقه قبل، soma گفته است :

در مورد شرط ها اینکه تعداد زیادی شرط رو به صورت تو در تو و چندگانه نوشته بشه  درست هست ؟

بله در بعضی از شرایط باید استفاده بشه.

به اشتراک گذاری این ارسال


لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • اضافه کردن...