2013-09-16 5 views
6

ऐसा लगता है कि यह एक साधारण सवाल होना चाहिए, लेकिन मुझे कोई अच्छा जवाब नहीं मिल रहा है। क्या फ़ोरैच लूप पर कोई शर्त लगाने का कोई तरीका है?PHP का प्रस्ताव और PHP में रहते हुए

foreach ($array as $value WHILE $condition == true) 
{ //do some code } 
बेशक

मैं सिर्फ डाल सकता है एक अगर foreach लूप के अंदर हालत इस प्रकार है:: मैं कुछ इस तरह करना चाहते हैं

foreach ($array as $value) 
{ 
    if($condition == true) 
    {//do some code} 
} 

केवल एक चीज है कि मैं बंद करना चाहते हैं है प्रदर्शन में सुधार के उद्देश्य के लिए, अगर स्थिति गलत हो जाती है तो सरणी पर फिर से चलना। फ़ोरैच लूप के शेष भाग को चलाने की आवश्यकता नहीं है यह निर्धारित करने के लिए कि झूठी होने के बाद $ स्थिति झूठी है।

कोई सुझाव? क्या मैं कुछ स्पष्ट गलत कर रहा हूँ?

+3

ब्रेक स्टेटमेंट। –

+0

दरअसल वास्तव में उम्मीद है कि PHP में यह foreach हो सकता है और कार्य के दौरान, यह बहुत साफ और साफ है – zhihong

उत्तर

17

नहीं है, लेकिन आप पाश break सकते हैं जब आपके स्थिति उत्पन्न होने पर:

foreach ($array as $value){ 
    if($condition != true) 
    break; 
} 
2

आप आसानी से सही समय आप चाहते हैं पर एक foreach पाश बाहर निकलने के लिए ब्रेक कीवर्ड का उपयोग कर सकते हैं। ऐसा करने का यह सबसे आसान तरीका है कि मैं इस समय सोच सकता हूं।

foreach ($array as $value) 
{ 
    if($condition == true) 
    { 
     //do some code 
     break; 
    } 
} 
1

शायद आप ब्रेक का उपयोग कर सकते हैं; वाक्य

foreach ($ मूल्य के रूप में $ सरणी) { अगर ($ शर्त == सच) {// कुछ कोड करना} else {तोड़; }}

2

आप नियमित रूप से लूप के लिए भी कोशिश कर सकते हैं, जिसमें अंतर्निहित स्थिति है। केवल एक चीज यह है कि आपको इसकी अनुक्रमणिका का उपयोग करके सरणी के तत्व तक पहुंचना होगा।

<?php 
//Basic example of for loop 
$fruits = array('apples', 'figs', 'bananas'); 
for($i = 0; $i < count($fruits); $i++){ 
    $fruit = $fruits[$i]; 
    echo $fruit . "\n"; 
} 

यह थोड़ा और जटिल उदाहरण है, जैसे ही इसे अंजीर मिलते ही निष्पादित करना बंद हो जाता है।

<?php 
//Added condition to for loop 
$fruits = array('apple', 'fig', 'banana'); 
$continue = true; 
for($i = 0; $i < count($fruits) && $continue == true; $i++){ 
    $fruit = $fruits[$i]; 

    if($fruit == 'fig'){ 
     $continue = false; 
    } 

    echo $fruit . "\n"; 
} 

मुझे उम्मीद है कि इससे मदद मिलती है।

2
foreach ($array as $value) { 
    if($condition) { 
    //do some code 
    } 
    else { 
    break; 
    } 
} 
संबंधित मुद्दे