PHP foreach怎么样去循环同一个id的某一字段的所有值

师兄请您帮我:PHP用foreach去循环同一个id的某一字段的所有值数据表如图:我要的效果如图:... 师兄 请您帮我:
PHP 用foreach去循环同一个id的某一字段的所有值
数据表如图:

我要的效果如图:
展开
 我来答
cyan24
推荐于2016-09-16 · TA获得超过1626个赞
知道小有建树答主
回答量:1128
采纳率:0%
帮助的人:867万
展开全部
$datas = array(
    array(
        "id" => "212",
        "advert_title" => "测试文章篇数",
        "advert_address" => "第一次"
    ),
    array(
        "id" => "212",
        "advert_title" => "测试文章篇数",
        "advert_address" => "第二次"
    ),
    array(
        "id" => "176",
        "advert_title" => "测试版本取值是否正常",
        "advert_address" => "第五次"
    ),
    array(
        "id" => "176",
        "advert_title" => "测试版本取值是否正常",
        "advert_address" => "第六次"
    )
);
$result = array();
foreach ($datas as $k => $v) {
    $result[$v["id"]][] = $v;
}
echo '<pre>';
print_r($result);

如上, 结果如下, 基本上是按ID组数组的, 有问题追问.

更多追问追答
追问

师兄  非常感谢  但是这样还是不能满足需求 

大致效果如下:

追答

不过结果跟你要的不一样, 第一次, 第二次等是放入一个数组的, 

$result = array();
foreach ($datas as $k => $v) {
    if (!isset($result[$v["id"]])) {
        $result[$v["id"]] = array(
            "id" => $v["id"],
            "advert_title" => $v["advert_title"],
            "advert_address" => array(
                $v["advert_address"]
            )
        );
    } else {
        $result[$v["id"]]["advert_address"][] = $v["advert_address"];
    }
}
echo '<pre>';
print_r($result);

结果如下:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式