从数组中删除项目


Remove an item from an array?

我已经从PHP会话变量创建了一个数组,现在我正在尝试使用ajax(在jQuery中)从数组中删除一个元素.
到目前为止,我有以下代码:

$val = $_SESSION['enquiry-basket'];
$array = explode($val);
foreach ($enquiries as $a => $q) {
    if ($q == $_POST['product_id']) {
        unset($array[$a]);
    }
}

唯一的问题是,它不会删除item.
谁能解释为什么,并告诉我如何解决它?

编辑

对不起,伙计们。我提到jQuery的原因是因为我使用jQuery ajax调用来处理我上面显示的PHP.
ajax 查询运行良好,因为一旦 ajax 返回成功,它就会处理一些 javascript 好东西(从 HTML 中删除一个div).
我已经添加了分隔符(不敢相信我错过了它),但该元素仍然没有从数组中删除.
我从来不擅长多维数组,所以这里是打印的数组:

Array ( [0] => 6 [1] => 8 ) 

对我来说看起来很对,但我是阵列的业余爱好者。(6和8当然是我插入的琴弦)

explode缺少第一个参数:

explode(',', $val);

您正在从$array中删除项目,而不是从 $_SESSION['查询篮'] 中删除项目。

分解函数应有两个参数。但是您只给出了数组的名称。爆炸(分隔符,字符串,限位);

如果我正确理解您要做什么,问题是 JQuery 运行客户端,这意味着服务器端的 PHP 数组在来自 Ajax 的每个请求之间消失。剩下的唯一数组是 _SESSION 美元。

如果要使用 AJAX,则需要直接从 $_SESSION 中删除。其他任何东西都是无用的,因为数组和变量在每次调用之间"消失"。

主要是爆炸函数的问题,缺少第二个参数:

更改自:

$array = explode($val);

自:

$array = explode('~',$val);  // ~ is a delimiter