2012-08-31 65 views
-1

即时通讯新的对象和即时通讯仍然试图让我的头围绕它。PHP通过一个对象循环,只返回一个条件得到满足

这里的情况,我有:我的信息,从格式化为这样一组变量对象的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>"; 
     } 
    } 

i循环现在的问题是我最终的东西是这样的:

约翰在邮件上工作

James

杰里

帕特

哈利 2.50 制作电子邮件

玛丽

萨拉

但我不希望人们展现出来,除非他们有> 0 hoursDone。

这是我真的失去的一点,我不知道从哪里开始说实话。任何链接到答案或例子都会很棒。这是继承的代码和我自己的代码的混合体。

回答

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值> 0

相关问题