简体   繁体   English

为什么我的foreach不工作?

[英]Why won't my foreach work?

$subSpecialties = $this->_db->get('users_subspecialties',array('user_id', '=', $this->_data->id));

print_r($subSpecialties);

foreach ($subSpecialties as $subSpecialty) {
    echo "THIS CODE IS GENERATED FROM INSIDE FOREACH";
}

The first line gets records from my users_subspecialties table 第一行从我的users_subspecialties表中获取记录

I then used print_r to check the records found. 然后,我使用print_r检查找到的记录。

The output is shown below: 输出如下所示:

DB Object ( [_pdo:DB:private] => PDO Object ( ) [_query:DB:private] 
=> PDOStatement Object ( [queryString] => SELECT * FROM 
users_subspecialties WHERE user_id = ? ) [_error:DB:private] => 
[_results:DB:private] => Array ( [0] => stdClass Object ( [user_id] 
=> 1 [subspecialty_id] => 2 ) [1] => stdClass Object ( [user_id] => 1 
[subspecialty_id] => 3 ) ) [_count:DB:private] => 2 )

Last line is my for-each ; 最后一行是我for-each it should run because there are 2 records found as you can see with the print_r output and yet it won't echo the code inside. 它应该运行,因为在print_r输出中可以找到2条记录,但它不会echo其中的代码。

Can someone tell me what seems to be the problem, please? 有人可以告诉我这是什么问题吗? Thanks in advance. 提前致谢。

if this response is object you get like this: 如果此响应是对象,则您将获得以下信息:

foreach ($subSpecialties as $subSpecialty) {
   echo $subSpecialty->user_id;
   echo '<br/>';
   echo $subSpecialty->subspecialty_id;
}

if this response is array then 如果此响应是数组,则

foreach ($subSpecialties as $subSpecialty) {
   echo $subSpecialty[user_id];
   echo '<br/>';
   echo $subSpecialty[subspecialty_id];
}
$subSpecialties = $this->_db->get('users_subspecialties',array('user_id', '=', $this->_data->id));

print_r($subSpecialties);

foreach ($subSpecialties->results() as $subSpecialty) {
    echo "THIS CODE IS GENERATED FROM INSIDE FOREACH";
}

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

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