【发布时间】:2016-12-20 03:01:00
【问题描述】:
我遇到了这个似乎无法解决的错误。
这里是代码
$this->stmt = $this->handle->prepare("SELECT * FROM tb_ph WHERE totalprofit = 0 AND status = '1' AND checks = ''");
$var = $this->stmt->fetchAll();
$var 返回一个多维数组,我很想循环访问该数组以获取它们各自的 id 和用户名。
现在的问题是,如果我这样做了
foreach($var as $key => $value){
$id = $value['id'];
$username = $value['username'];
$phone = $value['phone'];
}
我收到通知:数组到字符串的转换错误。
var_dump($var)给了
Array
(
[0] => Array
(
[id] => 3
[0] => 3
[username] => rose
[1] => rose
[phone] => +2782345578952
[2] => +2782345578952
)
[1] => Array
(
[id] => 4
[0] => 4
[username] => josh
[1] => rose
[phone] => +0182345578952
[2] => +0182345578952
)
)
对于返回的两个结果,我如何让循环每次只获取 id、用户名和电话?
【问题讨论】:
-
导致通知的代码在哪里?您最好展示您的代码尝试,以便我们可以帮助您找到错误,而不是仅仅期望有人为您编写代码,而您永远不会学习如何正确调试自己的代码。
-
这就是那里的代码。除了我不明白你所说的代码尝试是什么意思
-
您在此处显示的代码没有
foreach($var ...。您只显示var_dump($var),并且由于$var = $this->stmt->fetchAll();也不会创建Notice,因此您没有显示foreach($var ...代码尝试。 -
感谢您指出这一点。我已经添加了
-
你应该接受下面给出的答案,否则其他人会认为它没有解决,可能会发布更多答案,这就是 Stack 的工作原理