Php 分步骤设置会话

Php 分步骤设置会话,php,session,Php,Session,是否可以在不同时间将多个会话元素设置为同一会话?我有2个类,每个类应该设置2个会话元素。我得到的是一个空数组。我在每页上使用session\u start() 此外,我可以在单个类中成功地设置会话,但在每个类中设置时会返回一个空数组 // User class $_SESSION['user'] = array('id' => 1); $_SESSION['user'] = array('name' => 'Tim Miller'); // Part class $_SESSION

是否可以在不同时间将多个会话元素设置为同一会话?我有2个类,每个类应该设置2个会话元素。我得到的是一个空数组。我在每页上使用
session\u start()

此外,我可以在单个类中成功地设置会话,但在每个类中设置时会返回一个空数组

// User class
$_SESSION['user'] = array('id' => 1);
$_SESSION['user'] = array('name' => 'Tim Miller');

// Part class
$_SESSION['user'] = array('model' => '12311');
$_SESSION['user'] = array('part' => 'AA34F');
编辑:

以下是我要创建的阵列:

Array (
  [user] => Array (
    [id] => 1
    [name] => Tim Miller
    [model] => 12311
    [part] => AA34F
    [order] => 119026
    [serial] => 12001923S3
  )
)
应在用户类中设置元素0和1 应在零件类中设置元素2-3
元素4-5应该在串行类中设置,您可以设置它,但需要使用不同的方法。您可以创建具有不同值的会话数组

您必须在需要使用会话的每个文件的顶部写入会话\ u start()

session_start();

// User class
$_SESSION['user'][] = array('id' => 1);
$_SESSION['user'][] = array('name' => 'Tim Miller');

// Part class
$_SESSION['user'][] = array('model' => '12311');
$_SESSION['user'][] = array('part' => 'AA34F');

print_r( $_SESSION['user'] );
输出如下所示:

Array
(
    [0] => Array
        (
            [id] => 1
        )

    [1] => Array
        (
            [name] => Tim Miller
        )

    [2] => Array
        (
            [model] => 12311
        )

    [3] => Array
        (
            [part] => AA34F
        )
)
这取决于你想如何包装这个阵列

编辑:

要获得所需的格式输出,并在以后的不同文件中向数组添加值,您可以进行如下尝试:

// Your code here!
session_start();

// User class
$_SESSION['user'][] = array('id' => 1, 'name' => 'Tim Miller');

// Part class
$key = -1
$key = array_search( 1, array_column($_SESSION['user'], 'id') );
// Here 1 in array_search is id of user your can use $id to add data to correct user's by id.

if( $key > -1 ) {
    $_SESSION['user'][ $key ] = array_merge( $_SESSION['user'][ $key ], array('model' => '12311', 'part' => 'AA34F') );
}


print_r( $_SESSION['user'] );
这将为您提供以下输出:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Tim Miller
            [model] => 12311
            [part] => AA34F
        )
)

在哪里设置会话变量并不重要。其他原因导致了这个问题。你能再详细介绍一下你在哪里/如何设置这些数据吗?另外,您是否知道在每种情况下都会覆盖
user
session变量?@Waterlomatt,谢谢。我还认为可能是其他原因导致了这个问题,但我想要求核实。我试图简单地在不同的时间向会话数组添加元素。我已经编辑了我的帖子来展示更多我想要的,好吗。您如何为不同的用户工作?我的意思是,您在不同的文件中设置会话,所以您也需要跟踪用户。顺便说一句,上述解决方案对您有效吗?我想我忘了在设置变量的页面顶部使用
session\u start
。它正在工作。谢谢Vantiya。