繁体   English   中英

如何使用PHP中的foreach循环解决'notice:array to string conversion'错误?

[英]How to resolve a 'notice: array to string conversion' error using foreach loop in PHP?

我想用PHPMySQL显示10个问题选项,并使用foreach循环显示每个问题选项,但我收到通知。

我有两个名为“questions”和“options”的表,我在名为q_id选项中有一个字段,它已经通过id字段加入了问题表。

这是我的SQL代码:

public function selectOptions($id)
{
    $sql = $this->pdo->prepare("select options.option1,options.option2,options.option3,options.option4 FROM `options` INNER JOIN questions ON options.q_id = questions.id WHERE questions.id = '$id'");
    $sql->execute();
    $row = $sql->fetchAll(PDO::FETCH_ASSOC);
    //var_dump($row);die;
    return $row;
}

这是我的PHP代码:

foreach ($num as $key => $value) {
    $toal[] = $num[$key]->id;//this will be the questions id
}

$q_id = $toal;

foreach ($q_id as $val) {
    $j =$obj->selectOptions($q_id);//this will select options
    var_dump($j);
}

我希望输出是一个选项数组,但它返回一个错误:

注意:数组到字符串的转换

我该如何解决上述问题?

在发送$q_id (原始数组)而不是$val向函数发送错误的参数。

你的代码说:

foreach ($q_id as $val) {
    $j =$obj->selectOptions($q_id); // you use the $q_id which is array

selectOptions将其参数视为字符串,而不是通知的数组。

将您的代码更改为:

foreach ($q_id as $val) {
    $j =$obj->selectOptions($val);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM