php - w3schools - পিএইচপি যদি বিবৃতি বিরতি কোন উপায়?




php wiki (14)

break বা loop জন্য break বা break(1) হিসাবে বর্তমান বা পিতামাতার বিবৃতি কার্যকর করার জন্য পিএইচপি তে কোনও কমান্ড আছে। উদাহরণ স্বরূপ

$arr=array('a','b');
foreach($arr as $val)
{
  break;
  echo "test";
}

echo "finish";

উপরোক্ত কোড পিএইচপি echo "test"; করবেন না echo "test"; এবং echo "finish"; যেতে হবে echo "finish";

আমি যদি এই জন্য প্রয়োজন

$a="test";
if("test"==$a)
{
  break;
  echo "yes"; // I don't want this line or lines after to be executed, without using another if
}
echo "finish";

আমি উপরের বিবৃতিটি break চাই এবং echo "yes"; চালানো বন্ধ করতে চাই echo "yes"; অথবা এমন কোড যা আর কার্যকর করা দরকার না, অতিরিক্ত শর্ত থাকতে পারে নাও হতে পারে, এটি করার উপায় আছে কি?


GOTO কমান্ড ব্যবহার করুন।

if(smth) {
   .....
   .....
   .....
   .....
   .....
   goto Area1;
   .....
   .....


}



Area1:
....your code here....

যাইহোক, মনে রাখবেন goto একটি প্রস্তাবিত অনুশীলন নয়, কারণ এটি কোডটিকে অস্বাভাবিকভাবে বিন্যস্ত করে তোলে।


অন্যান্য ব্যবহারকারীদের মন্তব্য সম্পর্কে চিন্তা করবেন না, আমি আপনাকে বুঝতে পারি, কিছু সময় যখন এই "অভিনব" বিষয়গুলি তৈরি করার প্রয়োজন হয় । যদি আমরা একটি ভাঙ্গতে পারি তবে অনেকগুলি নেস্টেড আইএফএস প্রয়োজন হবে না, কোডটি আরও পরিষ্কার এবং নান্দনিক করে তুলবে।

এই নমুনা কোডটি দেখায় যে অনেকগুলি কুশ্রী নেস্টেড আইএফএস থেকে অনেক বেশি উপযুক্ত হলে ব্রেকটেনস সাইটগুলি ভেঙ্গে যেতে পারে ... যদি আপনি কোনও নির্দিষ্ট পরিস্থিতির সম্মুখীন না হন তবে এর অর্থ নেই যে এটি বিদ্যমান নয়

কুৎসিত কোড

if(process_x()) {

    /* do a lot of other things */

    if(process_y()) {

         /* do a lot of other things */

         if(process_z()) {

              /* do a lot of other things */
              /* SUCCESS */

         }
         else {

              clean_all_processes();

         }

    }
    else {

         clean_all_processes();

    }

}
else {

    clean_all_processes();

}

ভাল খুঁজছেন কোড

do {

  if( !process_x() )
    { clean_all_processes();  break; }

  /* do a lot of other things */

  if( !process_y() )
    { clean_all_processes();  break; }

  /* do a lot of other things */

  if( !process_z() )
    { clean_all_processes();  break; }

  /* do a lot of other things */
  /* SUCCESS */

} while (0);

@ নিমাতোজাকটোমাস্জ বলেছেন, গোটো ব্যবহার বিকল্প, এটি সম্পর্কে খারাপ জিনিসটি আপনাকে সর্বদা লেবেল (পয়েন্ট লক্ষ্য) নির্ধারণ করতে হবে।


আপনি একটি সময় সময় (মিথ্যা) ব্যবহার করতে পারে:

    <?php
    do if ($foo)
    {
      // Do something first...

      // Shall we continue with this block, or exit now?
      if ($abort_if_block) break;

      // Continue doing something...

    } while (false);
    ?>

যেমন http://php.net/manual/en/control-structures.if.php#90073 বর্ণিত হয়েছে


আপনি বিবৃতি ব্যবহার করতে পারেন 'ডাই' উদাহরণ

<?php
if (condition)
{
statements;
die;
}
?>

এই ক্ষেত্রে আপনি কি করতে চান যুক্তিযুক্তভাবে জ্ঞান করে না।


আমি পার্টিতে দেরি করেছি কিন্তু আমি অবদান রাখতে চাই। আমি বিস্মিত যে কেউ exit() পরামর্শ exit() । এটা পরীক্ষার জন্য ভাল। আমি এটা সব সময় ব্যবহার এবং কবজ মত কাজ করে।

$a ='';
$b ='';
if($a == $b){
echo 'Clark Kent is Superman';
exit();
echo 'Clark Kent was never Superman';
}

কোড exit() এ বন্ধ হবে exit() এবং সবকিছু পরে চালানো হবে না।

ফল

Clark Kent is Superman

এটি foreach() এবং while() পাশাপাশি কাজ করে। এটা সত্যিই আপনি এটি যে কোন জায়গায় কাজ করে।

foreach($arr as $val)
{
  exit();
  echo "test";
}

echo "finish";

ফল

nothing gets printed here.

একটি forloop() সঙ্গে এটি ব্যবহার করুন forloop()

for ($x = 2; $x < 12; $x++) {
    echo "Gru has $x minions <br>";
    if($x == 4){
    exit();
    }
}

ফল

Gru has 2 minions
Gru has 3 minions
Gru has 4 minions

একটি স্বাভাবিক ক্ষেত্রে দৃশ্যকল্প

$a ='Make hot chocolate great again!';
echo $a;
exit();
$b = 'I eat chocolate and make Charlie at the Factory pay for it.';

ফল

Make hot chocolate great again!

একটি ফাংশন আপনার কোড Encapsulate। আপনি যে কোনো সময় return সঙ্গে একটি ফাংশন নির্বাহ করা বন্ধ করতে return


কারন আপনি যখন একটি / যখন লুপটি ভাঙ্গতে পারেন, তখন আমাদের এক রাউন্ড " করবেন "। শেষের দিকে কিছুটা (মিথ্যা) সঙ্গে, শর্তটি কখনই সত্য নয় এবং পুনরাবৃত্তি করবে না।

do
{
    $subjectText = trim(filter_input(INPUT_POST, 'subject'));
    if(!$subjectText)
    {
        $smallInfo = 'Please give a subject.';
        break;
    }

    $messageText = trim(filter_input(INPUT_POST, 'message'));
    if(!$messageText)
    {
        $smallInfo = 'Please supply a message.';
        break;
    }
} while(false);

টার্নারি অপারেটর ব্যবহার সম্পর্কে কি?

<?php
 // Example usage for: Ternary Operator
 $action = (empty($_POST['action'])) ? 'default' : $_POST['action'];
?>

যা / অন্য বিবৃতি যদি এর সমান হয়:

<?php
 if (empty($_POST['action'])) {
   $action = 'default';
 } else {
   $action = $_POST['action'];
 }
?>

না।

কিন্তু কিভাবে সম্পর্কে:

$a="test";
if("test"==$a)
{
  if ($someOtherCondition)
  {
    echo "yes";
  }
}
echo "finish";

শুধু সেই কোডটি সরান যেটি else/elseif শাখায় প্রয়োগ করা হয় else/elseif । আমি আসলেই দেখি না কেন আপনি যা করতে চেষ্টা করছেন তা করতে চান।


সহজ সমাধান এটি মন্তব্য করতে হয়।

$a="test";
if("test"==$a)
{

  //echo "yes"; //no longer needed - 7/7/2014 - updateded bla bla to do foo
}

যোগ করা সুবিধাটি আপনার আসল কোডটি পরিবর্তন করে না এবং আপনি এটির তারিখ নির্ধারণ করতে পারেন, এটি প্রাথমিক এবং কেন একটি কারণ রাখুন।

কেন ডাউন ভোট, OP বিকল্প অনুযায়ী আমি মনে করি এটি একটি পুরোপুরি বৈধ সমাধান।

"আমি চাই [উপরের বিবৃতিটি ভাঙ্গতে এবং]" echo "চালানো বন্ধ করতে" হ্যাঁ "বা এমন কোডগুলি যা আর কার্যকর করার প্রয়োজন নেই, সেখানে অতিরিক্ত শর্ত থাকতে পারে বা নাও হতে পারে, এটি করার উপায় আছে?"

আসলে কেউ অন্য সমাধানগুলির দিকে তাকিয়ে থাকতে পারে, এক বছর পরে এবং সেখানে কী হচ্ছে তা অবাক করে। আমার পরামর্শ অনুযায়ী, ভবিষ্যতে রেফারেন্সের জন্য ভাল ডকুমেন্টেশন থাকতে পারে, যা সবসময় ভাল অনুশীলন।


স্ক্রিপ্টের বাকি অংশটি সম্পূর্ণরূপে থামানোর জন্য আপনি ঠিক করতে পারেন

প্রস্থান; // বিরতি জায়গায়। বাকি কোড চালানো হবে না


$a = 1;

switch($a) {

  case "1":

    if  ($condition1){
      break;
    }

    if  ($condition2){
      break;
    }

    if  ($condition3){
      break;
    }
}

এই ভাবে আমি যা চাই তা পেয়েছি। আমি একটি সুইচ ব্যবহার শুধুমাত্র একটি নির্দিষ্ট ক্ষেত্রে আছে এবং তারপর অবস্থা চয়ন করার ক্ষেত্রে বিরতি ব্যবহার করুন। কারণ আমি বিরতিটি ব্যবহার করি: condition1 এবং condition2 উভয়ই সন্তুষ্ট হতে পারে, সেই অবস্থায় শুধুমাত্র শর্ত 1 প্রয়োগ করা হয় .আমরা আদেশ অনুযায়ী নির্বাচনী।


$a="test";
if("test"!=$a)
{
echo "yes";                   
}
 else
 {
  echo "finish";
}






php