Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用codeigniter从db检入_阵列_Php_Mysql_Codeigniter_Codeigniter 3 - Fatal编程技术网

Php 使用codeigniter从db检入_阵列

Php 使用codeigniter从db检入_阵列,php,mysql,codeigniter,codeigniter-3,Php,Mysql,Codeigniter,Codeigniter 3,如何使用以下代码片段实现检查角色?我想要实现的是能够根据分配的角色对用户进行身份验证在数组中()不适用于返回的数组 返回的数组是: array (size=2) 0 => object(stdClass)[40] public 'role' => string '2' (length=1) 1 => object(stdClass)[41] public 'role' => string '5' (length=1) 数据: 模型 控制器: public functio

如何使用以下代码片段实现检查角色?我想要实现的是能够根据分配的角色对用户进行身份验证<代码>在数组中()不适用于返回的数组

返回的数组是:

array (size=2) 0 => object(stdClass)[40] public 'role' => string '2' (length=1) 1 => object(stdClass)[41] public 'role' => string '5' (length=1)
数据:

模型

控制器:

public function user_roles()
{
    $roles=$this->Master_model->user_roles('4');

    if (in_array("1", $roles)) 
    {
        echo "Admin<br>";
    }
    if (in_array("2", $roles)) 
    {
        echo "Teacher<br>";
    }
    if (in_array("5", $roles)) 
    {
        echo "Academic<br>";
    }
}
公共功能用户角色()
{
$roles=$this->Master_model->user_roles('4');
if(在_数组中(“1”,$roles))
{
回显“Admin
”; } if(在_数组中(“2”,$roles)) { 呼应“老师
”; } if(在_数组中(“5”$roles)) { 呼应“学术的
”; } }
在数组中
在您的代码中无法工作。你需要做两个改变

首先-将DB输出更改为array,现在您将获得objetct:

$userdata = $userDB->query("SELECT role
                        FROM role_assignment
                        WHERE user_id = $id
                        ")->result_array();
Second-通过DB结果返回修改后的数组:

$user_roles = array();
foreach ($userdata as $val) {
    $user_roles[] = $val['role'];
}
return $user_roles;

这两项更改都在您的模型的用户角色功能中。

您的问题是什么?你有什么问题吗?谢谢你;但是第二个代码应该放在哪里呢?如果它返回$user\u roles,那么foreach的用途是什么?但是我将$value['role']更改为$val['role']
$userdata = $userDB->query("SELECT role
                        FROM role_assignment
                        WHERE user_id = $id
                        ")->result_array();
$user_roles = array();
foreach ($userdata as $val) {
    $user_roles[] = $val['role'];
}
return $user_roles;