2013-12-23 72 views
0

嗯,我有一个看起来一个解决方案:虽然比较值数组键

<?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 } ?> 

但是我有一个问题,我可以用某种while更好的优化更换第二if?我需要比较第一个循环的每个id与第二个数组中的键和第二个数组的打印值。

回答

1

更好

if (array_key_exists($task->id, $overdue_days)) { 
    echo "dni spóźnienia: ".Arr::get($overdue_days, $task->id); 
} 
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] 
}