Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从具有键值的数组中删除数据?_Php_Session_Post - Fatal编程技术网

Php 如何从具有键值的数组中删除数据?

Php 如何从具有键值的数组中删除数据?,php,session,post,Php,Session,Post,我正在尝试删除数组中特定键中的所有数据,但无法找出代码不起作用的原因。我已使用print\r检查代码是否正常工作,当我单击“删除”按钮时,我可以看到正在为每个数组打印正确的值,但它没有从键中删除数据 我当前的阵列如下所示: Array ( [0] => Array ( [0] => S30813-Q100-X303 [1] => 5 [2] => Refurbished

我正在尝试删除数组中特定键中的所有数据,但无法找出代码不起作用的原因。我已使用
print\r
检查代码是否正常工作,当我单击“删除”按钮时,我可以看到正在为每个数组打印正确的值,但它没有从键中删除数据

我当前的阵列如下所示:

Array
(
    [0] => Array
        (
            [0] => S30813-Q100-X303
            [1] => 5
            [2] => Refurbished
        )

    [1] => Array
        (
            [0] => JX-1T1-LTU
            [1] => 8
            [2] => New
        )

)
我将数据输出到一个表,其中包含:

        for ($row = 0; $row < $totalcount; $row++) {
        echo "<tr>";
        for ($col = 0; $col < 3; $col++) {
            echo "<td>".$contents[$row][$col]."</td>";

            }
        for ($col = 0; $col < 1; $col++) {

            $del = $row;
            echo "<td><form action='' method='post'><input type='text' name='del' value=".$row."></input><input type='submit' name='deletepart' value='Remove'></input></form></td>";
        }
        echo "</tr>";
        }
for($row=0;$row<$totalcount;$row++){
回声“;
对于($col=0;$col<3;$col++){
回显“$contents[$row][$col]”;
}
对于($col=0;$col<1;$col++){
$del=$row;
回声“;
}
回声“;
}
前端:

我的取消设置数组键(我猜问题出在哪里)的php是:


如果您能帮我解决问题,我们将不胜感激

试试这个

写入
$key=$value\u以删除
而不是
$value\u to\u delete=$key

<?php 

    if (isset($_POST['deletepart'])) {
        $value_to_delete = $_POST['del'];
        //$value_to_delete = $key; //instead of this use
         $key = $value_to_delete;

        unset($_SESSION['arr'][$key]);
        $_SESSION["arr"] = array_values($_SESSION["arr"]);
    }

?>


数据来自哪里?您正在覆盖
$value\u to\u delete=$key
中的
$value\u to\u delete
中的
$value\u to\u delete=$key
将其替换为
$key=$value\u to\u delete
@AbdullahRazzaki…已经完成了!感谢或使用
unset($_SESSION['arr'][$_POST['del']])
<?php 

    if (isset($_POST['deletepart'])) {
        $value_to_delete = $_POST['del'];
        //$value_to_delete = $key; //instead of this use
         $key = $value_to_delete;

        unset($_SESSION['arr'][$key]);
        $_SESSION["arr"] = array_values($_SESSION["arr"]);
    }

?>