2016-12-15 27 views
0

删除字符串“开始”的连续出现,我有以下阵列从数组PHP数组

Array ([0] => **start** [1] => **start** [2] => name [3] => producer [4] => contact name [5] => 03354222271 [6] => [email protected] [7] => day contact name [8] => 03354222271 [9] => venue name [10] => adress [11] => country [12] => city [13] => desc [14] => file [15] => 2016-01-01 [16] => 01:00 [17] => 06:00 [18] => 2 [19] => music_festival [20] => 2000+ [21] => quick [22] => alcohol [23] => quick [24] => 10x10 [25] => ***no*** [26] => ***no*** [27] => ***no*** [28] => 2 [29] => 0 [30] => 4 [31] => $158 [32] => $118.5 [33] => $284 [34] => $960 [35] => **start** [36] => na [37] => producer [38] => con [39] => 1 [40] => [email protected] [41] => nam [42] => 1 [43] => venue [44] => ad [45] => co [46] => ci [47] => description test [48] => download555ssss.png [49] => 2016-12-07 [50] => 13:00 [51] => 19:00 [52] => 2 [53] => manual_selection [54] => ATV [55] => 10x10 [56] => no [57] => no [58] => no [59] => 1 [60] => 1 [61] => 1 [62] => $109.5 [63] => $118.5 [64] => $99.5 [65] => $728 [66] => **start** [67] => Race [68] => Race Club [69] => Faizan [70] => 03354222271 [71] => [email protected] [72] => Faizan Zahid [73] => 03354222271 [74] => DHA [75] => 90-H Tariq Gardens [76] => Pakistan [77] => Lahore [78] => [79] => images.jpg [80] => 2017-01-01 [81] => 00:00 [82] => 07:00 [83] => 2 [84] => cycling_road_race [85] => 1_field [86] => 1_399 [87] => electronic [88] => quick [89] => 10x10 [90] => no [91] => no [92] => no [93] => 1 [94] => 0 [95] => 1 [96] => $109.5 [97] => $118.5 [98] => $99.5 [99] => $796.5 [100] =>) 

现在我想做的是,取出的“开始”连续重复。我目前使用下面的代码

foreach ($updateddata as $value){ 
    if($value != $previousvalue){ 

     array_push($finaldata, $value); 
    } 
    $previousvalue = $value; 
} 

但也是删除其他连续重复以及我不想删除。请帮助我如何做到这一点。

我突出显示了“start”的出现,我想删除它并将其作为一个单独的条目,同时保留另一个字符串,例如,我不想删除串的重复“不”

回答

1

试试这个

if($value != $previousvalue){  
    array_push($finaldata, $value); 
} else if($value != 'start'){ 
    array_push($finaldata, $value); 
} 
+0

感谢你的帮助。我很惊讶为什么我不能在我的脑海里得到这个简单的解决方案 –

+0

欢迎你!接受答案,并乐意答案,如果答案可以帮助你解决你的问题! – Naga

0

要删除"start"值的连续重复你应该限制的关键条件,以该值。
用下面的办法:

// exemplary array 
$updateddata = [ 
    'start', 'start', 'producer', 'contact', 'no', 'no' 
]; 

foreach ($updateddata as $k => $v) { 
    if (isset($updateddata[$k-1]) && $v == 'start' && $v == $updateddata[$k-1]) { 
     unset($updateddata[$k]); 
    } 
} 

输出:

Array 
(
    [0] => start 
    [2] => producer 
    [3] => contact 
    [4] => no 
    [5] => no 
)