gpt4 book ai didi

php - 数组到字符串错误

转载 作者:行者123 更新时间:2023-11-30 21:45:03 24 4
gpt4 key购买 nike

我在显示 .$app->reactieDoor($topic['id']); 时遇到问题,它会向我显示错误,我不知道为什么会这样!请帮我。

请注意,我是新手,所以如果我在代码中遗漏了什么,请告诉我。

错误所在行:

 echo ' laatste reactie: ' .$app->tijd_reactie($topic['id']) . ' door ' .$app->reactieDoor($topic['id']);

错误仅在我尝试使用此部分时显示:

.$app->reactieDoor($topic['id']);

函数代码:

function reactieDoor($topicid) {
$this->database->query("SELECT klanten.voornaam, klanten.achternaam FROM reacties
LEFT JOIN klanten ON klanten.id=reacties.klant_id
WHERE reacties.topic_id=:topic_id ORDER BY create_time DESC LIMIT 1");

$this->database->bind(":topic_id", $topicid);
$reactie = $this->database->single();

return $reactie;

}

我得到的错误

最佳答案

我猜 $this->database->single(); 返回一个数组(包含名字和姓氏)所以当你从 return $reactie;函数,这是一个数组,您正试图将其插入到字符串中……因此出现错误。

由于该数组应包含名字和姓氏,请先尝试将其分配给 $name 变量,然后改用它。

类似于:

$name = "Mysterious Stranger";
if($n = $app->reactieDoor($topic['id'])) {
$name = "{$n['voornaam']} {$n['achternaam']}";
}

echo " laatste reactie: "
. $app->tijd_reactie($topic['id'])
. " door {$name}";

虽然如果该函数总是应该返回包含名称的字符串,但在函数中这样做可能会更好。

在这种情况下,您可以将函数改为:

function reactieDoor($topicid) {
$this->database->query("SELECT klanten.voornaam, klanten.achternaam FROM reacties
LEFT JOIN klanten ON klanten.id=reacties.klant_id
WHERE reacties.topic_id=:topic_id ORDER BY create_time DESC LIMIT 1");

$this->database->bind(":topic_id", $topicid);
$reactie = $this->database->single();

return $reactie ?
"{$reactie['voornaam']} {$reactie['achternaam']}" :
"Mysterious Stranger";
}

关于php - 数组到字符串错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49813779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com