2014-03-03 138 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" 
} 

希望这个解决方案是有帮助的。