我会诚实地说,我刚刚开始学习对象,我被卡住了。对象循环不能按预期工作
我想遍历一组对象并显示每个对象的名称和描述。但是不显示任何内容,或者首先显示所有名称,然后显示所有描述。
我从一个API拉信息到对象:
// get tasks
foreach($tasksList->items as $task_details) {
$tasks_name[$task_details->id]=$task_details->name;
$tasks_desc[$task_details->id]=$task_details->description;
$tasks_details[$task_details->id]=$task_details->id;
$tasks_progress[$task_details->id]=$task_details->progress;
}
foreach($tasks_name as $taskid=>$my_task_name) {
echo "Task_Name: " . $my_task_name . "</br>";
$task_id = $task_details->id;
foreach($tasks_desc as $taskid1=>$my_task_desc) {
if($taskid==$task_details->id) {
echo "Task_Desc: " . $my_task_desc . "</br>";
}
}
}
现在我不明白的是:第一foreach循环里面就像是一个while循环,而I = 0,它检查$ tasks_name [0],然后是$ tasks_name [1]等等。
但是,我不知道如何确定它在当前循环中的id是什么,所以我可以告诉它只打印当前循环的描述并不显示所有这些循环。
说实话我是从另一个例子复制这个,但我不太明白它。我计划研究对象更多,但这是抱着我对我目前的代码:
foreach($tasks_desc as $taskid1=>$my_task_desc)
我的理解是通过所有的$tasks_desc
循环和分配值$my_task_desc
但什么是$taskid
的signifigance?
对不起,新手问题。 :)
为什么你需要两个循环? – knittl
我们可以看到你的对象'print_r($ yourObject)' –
的片段,你不需要第二个循环。 $ tasks_desc [$ task_details-> id]会为你做。 –