Php循环遍历两个数组

时间:2014-07-28 04:09:44

标签: php arrays ajax compare

我使用Ajax将数据从网页发布到php页面。它工作正常。

我从$ _POST获取数据,循环遍历值并创建一个名为checklist的数组。

if($_POST != ''):
$dataset = $_POST['data'];
$checklist = array();
$eventid='';
foreach ($dataset as $i => $row)
{
   $uid = $row['box-id'];
   $state = $row['box-state'] ;
   $eventid = $row['e_id'];
   $checklist[] = array('uid'=>$uid, 
                    'state'=> $state);
}

清单有两个字段,一个uid和一个状态。

然后我运行一个生成另一个数组的脚本,名为$ updates。它循环遍历一组不同的对象并输出数据以填充$ updates的变量。 $ updates的结构就是这样。

 $updates[] =  array('uid'=>$uid, 
                     'state'=> $state,
                     'class' => $class,
                     'container' => $button_cont,
                     'closer' => $button_closer);

我想要做的是将$更新与$ checklist进行比较。

我想知道通过uid匹配记录的最有效方法并比较状态。如果国家匹配,我想什么都不做。

我已经阅读了一些有关循环和搜索的文章,但我想我已经看了太长时间了,因为它对我来说是希腊语。感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

保存清单,如 -

$checklist[$uid] = $state;

更新相同

$updates[$uid] = array('state'=> $state,
                 'class' => $class,
                 'container' => $button_cont,
                 'closer' => $button_closer);

然后开始循环

foreach ($updates as $key => $update) { 
   if ($update['state'] == $checklist[$key]) {
       //your action
   }//compare the values
}

$ key将是uid.hope它会帮助你