Попробуйте это:
$data = "google,98%,bing,92%,searchengine,56%,seo,85%,search,94%";
preg_match_all("/(\w+),(\d+)%/", $data, $data_array, PREG_SET_ORDER);
foreach($data_array as $item) {
print $item[1]." = ".$item[2]."%<br />";
}
Разбор всего происходит в одну строку;единственное зацикливание на выходе.Вы можете сделать print_r($data_array)
, чтобы увидеть, как устроен массив в случае, если вы хотите делать с данными разные вещи.
Кроме того, если вы хотите, чтобы знак процента был включен в данные, вы можете переместить его ввнутри второй пары скобок.Но если вы не включите его (и просто отобразите его при выводе), будет легче выполнять вычисления на данных, если вам нужно