dongshi1207 2015-11-06 10:26
浏览 18
已采纳

比较基于数组先前值的数组

I have an array that looks like this:

Array ( 
    [0] => Array (  
        [START] => COI-COK 
        [RETURN] => CAI - DEL 
    ) 
    [1] => Array ( 
        [START] => COK - AMM 
        [RETURN] => CAI - DEL 
    ) 
)

I want to check if both 'start' and 'end' values of previous and current array are same or not. If not then, print some value. How can I do it?

This is my attempt:

foreach($data as $datas)
{     
    $old_start  = $datas['START'];
    $old_return = $datas['RETURN'];

    ...

    if( ($old_start == $datas['START']) && ($old_return == $datas['RETURN']))
    {

    }
    else
    {

    }
}

But it didn't work because all the time old_start value will be equal to $datas['START'].

print_r($data) shows this output:

Array ( 
    [0] => Array ( 
        [Sl] => 2 
        [TRAVELDAY] => 2015-11-11 
        [RETURNDAY] => 2015-11-27 
        [START] => COI-COK 
        [RETURN] => CAI - DEL 
    ) 
    [1] => Array ( 
        [Sl] => 1 
        [TRAVELDAY] => 2015-11-11 
        [RETURNDAY] => 2015-11-27 
        [START] => COK - AMM 
        [RETURN] => CAI - DEL 
    ) 
)
  • 写回答

4条回答 默认 最新

  • dougongyou7364 2015-11-06 10:30
    关注

    You have to put the assignment after the comparison, not before:

    $old_start = '';
    $old_return = '';
    foreach($data as $datas)
    {     
         //....
         if($old_start=='' || $old_start == $datas['START'] && $old_return == $datas['RETURN'])
         {
             //....
         }
         else
         {
             //code to be executed
         }
    
         $old_start = $datas['START'];
         $old_return = $datas['RETURN'];
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 在不同的执行界面调用同一个页面
  • ¥20 基于51单片机的数字频率计
  • ¥50 M3T长焦相机如何标定以及正射影像拼接问题
  • ¥15 keepalived的虚拟VIP地址 ping -s 发包测试,只能通过1472字节以下的数据包(相关搜索:静态路由)
  • ¥20 关于#stm32#的问题:STM32串口发送问题,偶校验(even),发送5A 41 FB 20.烧录程序后发现串口助手读到的是5A 41 7B A0
  • ¥15 C++map释放不掉
  • ¥15 Mabatis查询数据
  • ¥15 想知道lingo目标函数中求和公式上标是变量情况如何求解
  • ¥15 关于E22-400T22S的LORA模块的通信问题
  • ¥15 求用二阶有源低通滤波将3khz方波转为正弦波的电路