在joomla文章中使用php中的foreach时,数组到字符串转换错误

时间:2016-03-17 05:14:18

标签: php joomla

<?php
    $db = JFactory::getDbo();

    $query = $db->getQuery(true);

    $query->select($db->quoteName(array('ques', 'options')));
    $query->from($db->quoteName('logical_ques'));

    $db->setQuery($query);

    $result = $db->loadRowList();

    print_r($result);

    foreach($result as $key => $value)
    {
        echo " ". $value;
    }
?>

大家好,我在Joomla中创建了一个网站,我希望将数据库中的一些值显示在文章中,但不是以数组形式显示,为此,我使用了 foreach 但它给了我数组到字符串转换错误

2 个答案:

答案 0 :(得分:0)

$value似乎是一个数组。请检查使用var_dump。回显数组会产生此错误。

答案 1 :(得分:0)

array_values似乎是数组。因此,创建一个递归函数以从数组中返回字符串。代码应该是这样的

<?php

$db = JFactory::getDbo();

$query = $db->getQuery(true);

$query->select($db->quoteName(array('ques', 'options')));
$query->from($db->quoteName('logical_ques'));

$db->setQuery($query);

$result = $db->loadRowList();

print_r($result);

if (is_array($result)) {
    echo arrayToString($result);
} else {
    echo $result;
}

function arrayToString($array)
{ 
    foreach($array as $key => $value)
    {
        if (is_array($value))
        {
            $res .= arrayToString($value);
        } else {
            $res .= " ". $value;
        }
    }
    return $res;
}

?>