我对物体很陌生,但我仍在努力解决它。
这是我的情况:
我有来自一个 API 的信息,该 API 被格式化为一个带有一堆变量的对象,如下所示:
public 'id' => int 64
public 'taskId' => int 6
public 'projectId' => int 2
public 'type' => string 'progress' (length=8)
public 'text' => string 'bug5279 main branch fix confirmed beta still an issue with bounties' (length=111)
public 'ownerId' => int 3
public 'progress' => int 0
public 'hoursDone' => float 0.25
public 'createdAt' => string '2012-08-28T09:33:51' (length=19)
public 'notifyProjectTeam' => boolean false
public 'notifyTaskTeam' => boolean false
public 'notifyClient' => boolean false
public 'date' => string '2012-08-28T09:33:51' (length=19)
这是我用来生成上述代码的代码,它返回一堆对象活动列表
$activityList = $activityClient->getList( $filter, $offset, $count );
这是用户列表
$usersList = $usersClient->getAll();
现在我想做的只是在用户 hoursDone 值 >0 时显示用户名
我用谷歌搜索,我可以找到如何遍历一个对象,但似乎找不到正确的关键字来显示条件,因为我对对象很陌生,所以我有点迷失了。这是我的简单循环代码
// get the usernames
foreach($usersList->items as $user_details) {
$users[$user_details->id]=$user_details->firstName.' '.$user_details->lastName;
}
// get projects
foreach($tasksList->items as $task_details)
{
$tasks[$task_details->id]=$task_details->name;
}
这就是我循环活动的方式
foreach($activityList->items as $workdetails)
{
echo "<br><h2>$username</h2><br>";
}
foreach($tasks as $taskid=>$taskname)
{
if($userid==$workdetails->ownerId && $taskid==$workdetails->taskId)
{
echo "<br>$workdetails->hoursDone<br>";
echo "<br>$workdetails->text<br>";
}
}
现在的问题是我最终得到了这样的结果:
John 1 处理电子邮件
詹姆士
杰瑞
拍
Harry 2.50 处理电子邮件
玛丽
莎拉
但我不希望人们出现,除非他们有 > 0 小时完成。
这是我真正失去的一点,我不知道从哪里开始说实话。任何指向答案或示例的链接都会很棒。这是继承代码和我自己的代码的混合体。