PHP 按数据值分组

发布于 2024-12-06 14:10:36 字数 1429 浏览 1 评论 0 原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

忆悲凉 2024-12-13 14:10:36

初始化数组:

$array = array();

通过 , 分解输入,通过 = 将结果存储为基于其子分解的数组:

foreach(explode(',', $string) as $p)
{
   list($i, $n) = explode('=',$p);
   $array[$n][] = $i;
}

然后使用 ,< 分解结果/代码>:

foreach($array as &$v)
    $v = implode(', ', $v);
unset($v);

完成。

Initialize an array:

$array = array();

Explode the input by ,, store results as an array based on a sub-explode of it by =:

foreach(explode(',', $string) as $p)
{
   list($i, $n) = explode('=',$p);
   $array[$n][] = $i;
}

Implode then the result with ,:

foreach($array as &$v)
    $v = implode(', ', $v);
unset($v);

Done.

香橙ぽ 2024-12-13 14:10:36

只是为了好玩。如果没有特殊字符,这也应该有效。

$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;

Just for fun. With no special chars this should also work.

$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;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文