在PHP解封多维数组(Unsetting multi-dimensional arrays in p

2019-11-05 10:07发布

我想取消设置在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循环?还是另一种方法来完成同样的事情

Answer 1:

当然解封user应该解决。 你并不需要一个循环。 试试这个,刷新页面肯定会在同一时间的设定值和其他未设置它的价值。

<?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";
}

而根据这个问题, https://stackoverflow.com/questions/4891301/top-bad-practices-in-php ,使用count()在循环是一种不好的做法。



Answer 2:

我想取消设置在PHP中的会话阵列一定的价值。 我想问一下,如果有在做这个更好的方法。

我可以向你保证,取消设置变量的最佳方法是使用unset()它的功能。



文章来源: Unsetting multi-dimensional arrays in php
标签: php arrays loops