我是对象的新手,我仍然试图绕过它。
以下是我的情况:
我的信息来自一个格式化为对象的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();
现在我想要做的只是显示用户名如果用户的小时数值> 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>";
}
}
现在问题是我最终得到这样的东西:
约翰 1 致力于电子邮件
詹姆斯
杰里
专利
哈利 2.50 致力于电子邮件
玛丽
萨拉
但我不想让人们出现,除非他们有&gt; 0 for hoursDone。
这是我真正迷失的观点,我不知道从哪里开始说实话。任何答案或示例的链接都会很棒。这是继承代码和我自己的代码的混合。
答案 0 :(得分:0)
你快到了,只做
foreach($tasks as $taskid=>$taskname){
if($userid==$workdetails->ownerId && $taskid==$workdetails->taskId && $workdetails->hoursDone > 0){
echo "<br>$workdetails->hoursDone<br>";
echo "<br>$workdetails->text<br>";
}
}
我添加了一项检查,以查看hoursDone值是否为&gt; 0