php - 将数组分配给变量改变了类型?
问题描述
将数组分配给变量时出现此错误:
'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
) );
}
}
为什么我会收到此错误?
解决方案
像这样试试。尝试解决希望就是工作
<?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;
}
}
?>
推荐阅读
- bash - 从 bash 脚本执行时,tmux 找不到正在运行的服务器
- sparql - 如何连接两个变量并在 SPARQL 中输出一个字符串
- oracle - Oracle 19C - 损坏的 Web 服务响应/损坏的文件下载
- sql - 如何使用条件选择同一服务器的数据库名称
- docker - wildfly-logstash 不会将日志发送到 logstash
- mysql - 设置 InnoDB Cluster - 打开连接时出错
- java - javax.ws.rs.core.Response.readEntity 方法未找到
- angular - 将 Angular 8 更新到 Angular 9 无法解析依赖树
- autosar - mmt.RestrictToStandards 作为 Autosar 模式中的 appinfo 注释是否表明元素仅对特定的 Autosar 平台有效?
- react-native - React-Native-Testing-Library '警告 - 更新未包含在 act(...) 中