2014-02-20 4 views
0

Я очень сожалею, но массив выглядит следующим образом:PHP - Регулярное выражение, чтобы соответствовать коснуться, который начинается с

Array 
(
[1] => Array 
    (
     [0] => msie6.0 
     [1] => 7 
    ) 

[2] => Array 
    (
     [0] => safari5.0.3 
     [1] => 5 
    ) 

[3] => Array 
    (
     [0] => chrome18.0.1025.308 
     [1] => 1 
    ) 

[4] => Array 
    (
     [0] => firefox20.0 
     [1] => 4 
    ) 
[5] => Array 
    (
     [0] => msie7.0 
     [1] => 915 
    ) 

и так далее ... Когда я пытаюсь заменить, например msie6.0 и msie7.0 с InternetExplorer и добавьте его:

preg_match("/#^msie(.*)$#i/is", $results, $matches); 
$test = $matches[0] ; 
print_array($test); 
$results["#^startText(.*)$#i"] = $results['InternetExplorer']; 
print_array($results); 
unset($results["/#^msie(.*)$#i/is]); 

это не соответствует идеальному, как я хочу. любое решение для этого? для того, чтобы:

Array 
(
[1] => Array 
    (
     [0] => InternetExplorer 
     [1] => 922 
    ) 

[2] => Array 
    (
     [0] => safari5.0.3 
     [1] => 5 
    ) 

[3] => Array 
    (
     [0] => chrome18.0.1025.308 
     [1] => 1 
    ) 

[4] => Array 
    (
     [0] => firefox20.0 
     [1] => 4 
    ) 
+0

Вы хотите заменить деталь на «InternetExplorer» или весь ключ? – Rikesh

+0

Я хочу заменить каждый ключ, начинающийся с 'msie', и добавить его значение, чтобы в конце' InternetExplorer' было с суммой всех его значений. – SpencerX

ответ

2

После вашего разъяснения в комментарии. Я думаю, что вам не нужно регулярное выражение, strpos тоже достаточно, что работа.

$rows["InternetExplorer"] = 0; 
foreach($rows as $key => $value){ 
    if(strpos($key,"msie") !== false){ 
    $rows["InternetExplorer"] += $value; 
    unset($rows[$key]); 
    } 
} 

DEMO.

+0

Извините! Я редактировал мой пост! Я хочу, чтобы это выглядело как результат. – SpencerX

+0

Вы пробовали мой код? Проверьте демонстрационную ссылку? Это даст вам тот же результат, который вы ожидаете. – Rikesh

+0

Да! Это сработало! спасибо @Rikesh – SpencerX

Смежные вопросы