首页 > 解决方案 > 将数组分配给变量改变了类型?

问题描述

将数组分配给变量时出现此错误:

'krsort()` 期望参数 1 是数组,给定字符串

这是我的代码:

    if ( !in_array( $controller, $bypass_controller ) ) {
        $sesscontroller = $this->CI->privileges->getcontrolleruri();
        if ( $sesscontroller && empty( $sesscontroller ) ) {
            $sesscontroller      = $this->CI->session->userdata( SESS_PREFIK . 'controllers' );
            $arrcnt              = array(
                'menu_name'  => 'Add',
                'controller' => ''
            );
            $sesscontroller[]    = $arrcnt;

        } else {
            if ( !is_null( $sesscontroller ) ) {
                krsort( $sesscontroller );
                $this->CI->session->set_userdata( array(
                    SESS_PREFIK . 'controllers' => $sesscontroller
                ) );
            }
        }

为什么我会收到此错误?

标签: phparrayswordpresstags

解决方案


像这样试试。尝试解决希望就是工作

<?php
if ( !in_array( $controller, $bypass_controller ) ) {
    $sesscontroller = $this->CI->privileges->getcontrolleruri();
    if ( $sesscontroller && empty( $sesscontroller ) ) {
        $sesscontroller      = $this->CI->session->userdata( SESS_PREFIK . 'controllers' );
        $arrcnt              = array(
            'menu_name'  => 'Add',
            'controller' => ''
        );
        $sesscontroller[]    = $arrcnt;

        if ( !is_null( $sesscontroller ) ) {
            krsort( $sesscontroller );
            $this->CI->session->set_userdata( array(
                SESS_PREFIK . 'controllers' => $sesscontroller
            ) );
        }

    } else {
        // This ELSE part is this line 
        // $sesscontroller = $this->CI->privileges->getcontrolleruri();
        //echo $sesscontroller;
    }
}
?>

推荐阅读