我有以下示例功能。
class EquipmentReport extends MY_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('Reporting/ReportModel');//load report model
$this->load->helper('url');
$this->load->helper('form');
$this->Authorize(); // method inherited and returns array
}
/**
* loads view if no $_POST data
* if post data generates sql query
* @return (query)
**/
public function by_category (){
$my_array = $this->Authorize();
if (in_array("USER_GROUP_STATUS", $my_array)) {
echo "Got USER_GROUP_STATUS";
}
}
dumping $ my_array给出以下数组
Array (
[0] => 'ALL',
'USER_GROUP_STATUS',
'USER_GROUP_HAS_PERMISSION_CREATE_DEPARTMENT',
'USER_GROUP_HAS_PERMISSION_READ_DEPARTMENT',
'USER_GROUP_HAS_PERMISSION_UPDATE_DEPART'
)
但检查数组键是否正常工作。
我想要做的是检查其中一个值是否存在。例如,如果数组中存在'USER_GROUP_STATUS'
吗?
答案 0 :(得分:2)
试试这个in_array()
功能
if (in_array("USER_GROUP_STATUS", $your_array)) {
echo "Got USER_GROUP_STATUS";
}
或者您可以尝试这种方式
$ary = [
0 => ['ALL', 'USER_GROUP_STATUS', 'USER_GROUP_HAS_PERMISSION_CREATE_DEPARTMENT',
'USER_GROUP_HAS_PERMISSION_READ_DEPARTMENT',
'USER_GROUP_HAS_PERMISSION_UPDATE_DEPART']
];
foreach($ary as $ar)
if (in_array("USER_GROUP_STATUS", $ar)) {
echo "Got USER_GROUP_STATUS";
}
答案 1 :(得分:1)
只需使用in_array():
if (in_array($string, $Arr)) {
//code
}
答案 2 :(得分:0)
$yourArray = Array ( [0] => ALL,'USER_GROUP_STATUS','USER_GROUP_HAS_PERMISSION_CREATE_DEPARTMENT','USER_GROUP_HAS_PERMISSION_READ_DEPARTMENT','USER_GROUP_HAS_PERMISSION_UPDATE_DEPART' );
$needle = 'USER_GROUP_STATUS';
if(in_array($needle, $yourArray)) {
echo 'found it!';
}
希望这会对你有所帮助。
答案 3 :(得分:0)
做这样的事情
public function by_category()
{
$key= "USER_GROUP_STATUS";
$my_array = $this->Authorize();
if(in_array($key,$my_array)) {
echo 'Bravo!';
die();
}
}