我认为我想做的事情真的很简单,但无法让它发挥作用。我正在遍历一个表并从现有行中获取一些值,这部分有效。然后我使用 AJAX 尝试制作一个没有重复的多维数组,但有些东西不起作用。我真正想做的是删除重复的部分,重新排列数组和 array_push 新值。这是我所拥有的:
阿贾克斯:
function getData(){
$("#table .mainTR").each(function(){
var key = $(this).find(".key").text();
var sel = $(this).find(".s").val();
var q = $(this).find(".q").val();
$.ajax({
type: "POST",
async: false,
data: {key: key, s: sel, q: q}
});
});
}
PHP:
if(isset($_POST['key'])){
$title = $_POST['key'];
$s = $_POST['s'];
$q = $_POST['q'];
if(!empty($_SESSION['check'])){
foreach ($_SESSION['check'] as $key=>$value){
if(in_array($title, $value)){
unset ($_SESSION['check'][$title]);
$_SESSION['check'] = array_values($_SESSION['check']);
array_push($_SESSION['check'], array("key"=>$title, "s"=>$s, "q"=>$q));
}
}
}else{
$_SESSION['check'] = array(array("key"=>$title, "s"=>$s, "q"=>$q));
}
}
逻辑有问题吗?似乎它应该工作。尝试删除表行时,相同的 foreach 循环起作用。它找到正确的 KEY 并将其删除。为什么它在这里不起作用?