【问题标题】:Echo Array Values in Comma Separated List逗号分隔列表中的回显数组值
【发布时间】:2020-06-08 08:32:06
【问题描述】:

当我转储 $results 时,我正在从我的数据库中选择值;

array (
  0 => 
  (object) array(
     'FieldName' => 'certification_name',
     'FieldValue' => 'White Belt',
  ),
  1 => 
  (object) array(
     'FieldName' => 'certification_name',
     'FieldValue' => 'Yellow Belt',
  ),
)

我想在我的页面上显示以下内容;

认证名单:白带、黄带

我创建了一个循环,但是当我 echo 得到结果时,我得到了这个;

Certification List: Array Array

我的 PHP 代码;

foreach ($results as $result) {

    $name = $result->FieldName;
    $value = $result->FieldValue;

    $items[] = array(
        'name' => $name, 
        'value' => $value
    );
}

$items = implode("\n", $items);
echo 'Certification List: ' .$items;

我需要进行哪些更改才能使其正常工作?

【问题讨论】:

  • 你不能用$items[] = $result->FieldValue;来做吗
  • 如果您不对数据做任何其他事情,您还可以查看 MySQL GROUP_CONCAT(),这样您就根本不需要处理结果集。
  • 您使用的是 PDO 还是 MySQLi?如果是 PDO,您可以在 fetchAll() 中使用 fetch 参数 PDO::FETCH_COLUMN,它会以您想要的方式返回值。

标签: php arrays loops oop foreach


【解决方案1】:

您不应该将数组推送到$items,只需推送值即可。

foreach ($results as $result) {
    $items[] = $result->FieldValue;
}
$item_list = implode(", ", $items);
echo "Certification List: $item_list";

您也可以将循环替换为:

$items = array_column($results, 'FieldValue');

【讨论】:

    猜你喜欢
    • 2022-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    • 2017-09-13
    相关资源
    最近更新 更多