2014-03-03 81 views
0

我的下一個字符串:PHP字符串迭代重複值

$string = "3-6M: 5, 60: 1;"; 

我需要做的是搜索重複迭代和對大小(即3-6M)值,或者如果新的尺寸附加價值。

例如: 3-6M:5,60:1;和我需要添加到字符串的下一個值是「3-6M:2」,如果我通過strpos搜索它會告訴我它存在,我如何迭代現有的值,以便我將在結束

3-6M: 7, 60: 1; 

所附的東西是在這裏:

$size_f = $string; 
$to_add[0] = "3-6M: 2"; 
if (strpos($size_f, $to_add[0])) { 
// iterate 
//echo "found"; 
} else { 
// append 
$size_f .= ", ".$to_add[0].":".$to_add[1]; 
} 

能否請你幫我,好嗎?

謝謝

+0

這是'$ string'來自哪裏?它的源代碼是否將數據分解爲單獨的位?例如一個數據庫表?如果是這樣,那麼使用原始的「碎片化」數據工作會更好,然後嘗試將該字符串「撤消」回單個組件。 –

回答

0

如果您正在使用數組(您可以通過exploding您的字符串創建一個數組):

// Your existing array of values 
$initialArray= array('3-6M: 7', '60: 1'); 

// Array of value you want to add 
$newValues = array('3-6M: 2', 'toto', '3-6M: 2'); 

foreach($newValues as $newValue) { 
    if (in_array($newValue, $initialArray)) { 
    echo "found"; 
    } else { 
    array_push($initialArray, $newValue); 
    } 
} 

會打印:

foundarray(4) { 
    [0]=> 
    string(7) "3-6M: 7" 
    [1]=> 
    string(5) "60: 1" 
    [2]=> 
    string(7) "3-6M: 2" 
    [3]=> 
    string(4) "toto" 
} 

希望這個解決方案是有幫助的。