$data = "google,98%,bing,92%,searchengine,56%,seo,85%,search,94%";
我想如果你希望你为包含新行一个字符串输出,您可以使用拆分thsese并获得最终结果如何拆分这些数组?
google = 98%
bing = 92%
searchengine = 56%
seo = 85%
search = 94%
$data = "google,98%,bing,92%,searchengine,56%,seo,85%,search,94%";
我想如果你希望你为包含新行一个字符串输出,您可以使用拆分thsese并获得最终结果如何拆分这些数组?
google = 98%
bing = 92%
searchengine = 56%
seo = 85%
search = 94%
怎么样。 ..
$data = "google,98%,bing,92%,searchengine,56%,seo,85%,search,94%";
$dataSet = array_combine(array_map(create_function('$entry', 'return $entry[0];'),
array_chunk(explode(",", $data), 2)),
array_map(create_function('$entry', 'return $entry[1];'),
array_chunk(explode(",", $data), 2)));
foreach ($dataSet as $cType => $cPercentage) {
echo $cType . " = " . $cPercentage;
}
试试这个:
$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)
来查看数组是如何构造的,以防你想用数据做不同的事情。
此外,如果您希望百分号包含在数据中,则可以将其移至第二个括号对的内部。但是,如果你离开它(和只是显示它在输出时),它会更容易对数据进行计算,如果你需要
这将让你的关联数组:
$out = array();
$parts = explode(',', $data);
for($i=0;$i<count($parts);$i++) {
$out[$parts[$i]] = $parts[++$i];
}
你想要什么格式的最终结果?一个关联数组?一串字符串,每行一个?包含新行的单个字符串? – 2011-01-29 16:19:06
这是我想要展示的页面上的最终结果,因此得到如此如此的百分比......实际上对于seo pupose – 2011-01-29 16:21:55
`str_replace(',','=',str_replace('%,',“%\ r \ n“,$ str));`;-)))学会正确提问。 – zerkms 2011-01-29 16:23:07