PHP分组的数据值
问题描述:
我的数据变量:PHP分组的数据值
1=icon_arrow.gif,2=icon_arrow.gif,3=icon_arrow.gif
我需要它通过=后的值进行分组,所以在这种情况下,它应该是这样的:
$out = array('icon_arrow.gif' => '1, 2, 3');
的“ icon_arrow.gif'字段必须是唯一的,并且不能重复。
它是如何做到的?
答
只是为了好玩。没有特殊的字符,这也应该工作。
$str="1=icon_arrow.gif,2=icon_arrow.gif,3=icon_arrow.gif,4=x.gif";
$str = str_replace(',', '&', $str);
parse_str($str, $array);
$result = array();
foreach($array as $k=>$v)
$result[$v] = (isset($result[$v]) ? $result[$v] . ", " : "") . $k;
+0
我真的很喜欢这个主意,谢谢! – Lucas
答
初始化一个数组:与,
foreach(explode(',', $string) as $p)
{
list($i, $n) = explode('=',$p);
$array[$n][] = $i;
}
内爆那么结果:
$array = array();
由,
爆炸的输入端,存储结果作为数组根据它由=
子爆炸:
foreach($array as &$v)
$v = implode(', ', $v);
unset($v);
完成。
什么是原始字符串的来源? – 2011-09-27 22:46:13
也许这只是我,但我完全不明白这个问题。 ha – Shackrock
到目前为止你有什么? – webbiedave