【问题标题】:Unsetting multi-dimensional arrays in php在php中取消设置多维数组
【发布时间】:2011-03-24 09:39:45
【问题描述】:

我正在尝试在 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 arrays loops


【解决方案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() 是一种不好的做法。

【讨论】:

    【解决方案2】:

    我正在尝试在 php 中取消设置会话数组中的某个值。想问问有没有更好的办法。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-07
      • 1970-01-01
      • 2015-09-30
      • 1970-01-01
      • 2013-06-05
      • 2011-05-24
      相关资源
      最近更新 更多