Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.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_Arrays_Loops - Fatal编程技术网

在php中取消多维数组的设置

在php中取消多维数组的设置,php,arrays,loops,Php,Arrays,Loops,我试图在php中取消设置会话数组中的某个值。我想问一下,是否有更好的方法: <?php session_start(); if(isset($_GET['Uname'])){ echo "Uname is set!"; $uname=$_GET['Uname']; echo count($_SESSION['user']); for($x=0; $x < count($_S

我试图在php中取消设置会话数组中的某个值。我想问一下,是否有更好的方法:

    <?php

    session_start();


    if(isset($_GET['Uname'])){
        echo "Uname is set!";


            $uname=$_GET['Uname'];


        echo count($_SESSION['user']);

        for($x=0; $x < count($_SESSION['user']); $x++ ){

            if($_SESSION['user'][$x]['Uname']==$uname){

                unset($_SESSION['user'][$x]['Uname']);
            }

        }


    }else{


    }

?>
使用foreach循环可以完成同样的事情吗?或者另一种方法

确定不确定的用户应该解决这个问题。你不需要一个循环。试试这个,刷新页面肯定会一次设置值,另一次则会取消设置值

<?php

session_start();

$array = array('arr', 'arr', 'arr', 'arr', 'arr', 'arr');

if(isset($_SESSION['user']))
{
    print_r($_SESSION['user']);
    unset($_SESSION['user']);   
}
else{
    $_SESSION['user'] = $array;
    echo "user session was set";
}
根据这个问题,在循环中使用count是一种不好的做法

我试图在php中取消设置会话数组中的某个值。我想问一下,是否有更好的方法可以做到这一点


我可以向您保证,取消设置变量的最佳方法是对其使用unset函数

看起来您还不了解$\u SESSION的基本原理。一一场每使用者此外,您可能还需要满足以下要求: