【问题标题】:Print php array values [duplicate]打印php数组值[重复]
【发布时间】:2019-11-04 14:03:23
【问题描述】:

如何从这个查询中打印数组值? 我需要像 6475,7377,6367 这样的东西。 (逗号分隔)。

这就是我执行print_r($myarray) 时得到的结果:

    Array
    (
        [0] => Array
            (
                [gift_product] => 6475
            )

        [1] => Array
            (
                [gift_product] => 7377
            )

        [2] => Array
            (
                [gift_product] => 6367
            )

    )

非常感谢!

【问题讨论】:

    标签: php mysql arrays


    【解决方案1】:

    您可以在 MySQL 端使用 GROUP_CONCAT 处理此问题,如下所示:

    SELECT GROUP_CONCAT(gift_product) AS products
    FROM yourTable
    GROUP BY id;
    

    您当前的输出表明您正在获取多个记录的 gift_product 值,而实际上您想要检索产品的 CSV 字符串。

    【讨论】:

    • 现在我有 Array ( [0] => Array ( [GROUP_CONCAT(gift_product)] => 6475,7377,6367 ) ) 我如何只打印 6475,7377,6367?
    【解决方案2】:

    您可以在使用map 数组之后使用implode 函数array_map

    echo implode(', ', array_map(function ($entry) {
      return $entry['gift_product'];
    }, $myarray))
    

    【讨论】:

      【解决方案3】:

      使用array_column 通过implode 获取列式数据,

      echo implode(",", array_column($arr, "gift_product"));
      

      Demo

      输出

      6475,7377,6367
      

      【讨论】:

        猜你喜欢
        • 2014-08-05
        • 1970-01-01
        • 2020-04-23
        • 1970-01-01
        • 1970-01-01
        • 2019-03-17
        • 2019-02-01
        • 2020-09-29
        • 1970-01-01
        相关资源
        最近更新 更多