2011-02-09 14 views
1

我有一個字符串,可能看起來像下面的任何一個。換句話說,它可能有「早上」或「晚上」,但有時它可能沒有任何東西。以最有效的方式讀取和刪除子字符串,如array_pop(),但子字符串

"bla bla in the morning" or 
"bla bla bla in the evening" or 
"bla bla bla" 

是否php有一個函數來同時隔離和刪除子字符串?例如$last_in_array = array_pop($arr);,它們都將最後一個元素保存到$last_in_array中,並同時將其從陣列中刪除。任何類似於我解釋的場景的字符串。如果沒有,那麼做一個真正有效的方法是什麼?

回答

2
function string_pop(&$haystack, $needle) { 
    if (strpos($haystack, $needle) !== false) { 
     $haystack = str_replace($needle, "", $haystack); 
     return $needle; 
    } 
    return false; 
} 

$string = "bla bla in the morning"; 
$return = string_pop($string, " in the morning"); 

var_dump($string); 
var_dump($return); 

輸出:

$string: string(7) "bla bla" 
$return: string(15) " in the morning" 
+0

見我的編輯,我在你的函數包裹它。 – 2011-02-09 10:12:54

相關問題