好吧,我有一个看起来像的解决方案:
<?php foreach($overdue_tasks as $task) { ?>
<li>
<a href="<?php echo $task_url.'/'.$task->id; ?>" title="Przejdź do zadania">
<i class="icon-arrow-right"></i> Spóźnione zadanie ID: <?php echo $task->id; ?>
<?php
foreach($overdue_days as $id => $days)
{
if($task->id == $id)
{
echo "dni spóźnienia: ".Arr::get($overdue_days, $task->id);
}
}
?>
</a>
</li>
<?php } ?>
但我有一个问题,我可以用某种if
替换第二个while
以获得更好的优化吗?我需要将第一个循环的每个id
与第二个数组中的键和第二个数组的打印值进行比较。
答案 0 :(得分:1)
foreach($overdue_days as $id => $days)
{
if($task->id == $id)
{
echo "dni spóźnienia: ".Arr::get($overdue_days, $task->id);
}
}
可以替换为:
if(key_exists($task->id, $overdue_days)) {
echo "dni spóźnienia: ".Arr::get($overdue_days, $task->id); // == $overdue_days[$task->id]
}
答案 1 :(得分:1)
好多了
if (array_key_exists($task->id, $overdue_days)) {
echo "dni spóźnienia: ".Arr::get($overdue_days, $task->id);
}