我发布的数据从一个网页到一个php页面与Ajax。它工作得很好。
我从$_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);
}
Checklist有两个字段,uid和状态。
然后运行一个脚本,生成另一个名为$updates的数组。它循环遍历一组不同的对象,并输出数据以填充$updates的变量。$updates的结构如下所示。
$updates[] = array('uid'=>$uid,
'state'=> $state,
'class' => $class,
'container' => $button_cont,
'closer' => $button_closer);
我要做的是比较$updates和$checklist。
我想知道通过uid匹配记录并比较状态的最有效方法。如果州匹配,我什么都不想做。
我读了一些关于循环和搜索的文章,但我想我已经研究这个太久了,因为它对我来说是希腊语。
将检查表保存为-
$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。希望对你有所帮助