Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 如何检查数组中是否存在特定值?_Php_Arrays - Fatal编程技术网

Php 如何检查数组中是否存在特定值?

Php 如何检查数组中是否存在特定值?,php,arrays,Php,Arrays,我有以下示例函数 class EquipmentReport extends MY_Controller { public function __construct() { parent::__construct(); $this->load->model('Reporting/ReportModel');//load report model $this->load->helper('url');

我有以下示例函数

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";
        }
}
转储$my_数组将得到以下数组

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\u GROUP\u STATUS'
,请在数组()中尝试此

    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";
        }

在数组()中尝试此
函数

    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";
        }

只需在数组()中使用即可:

只需在_数组()中使用:

希望这对你有帮助

希望这对你有帮助。

做这样的事

public function by_category()
    {

        $key= "USER_GROUP_STATUS";
        $my_array = $this->Authorize();
        if(in_array($key,$my_array)) {
            echo 'Bravo!';
            die();
        }

    }
做这样的事

public function by_category()
    {

        $key= "USER_GROUP_STATUS";
        $my_array = $this->Authorize();
        if(in_array($key,$my_array)) {
            echo 'Bravo!';
            die();
        }

    }

array\u search(“to serach”,$array)
@MASIDDIQUI…它的nt是那样工作的。
array\u search(“to serach”,$array)
@MASIDDIQUI…它的nt是那样工作的。我尝试了这个bt,我没有得到任何$needle=“USER\u GROUP\u STATUS”$my_数组=$this->Authorize();如果(在数组($needle,$myu数组)){echo'找到了它!;die()}我尝试了这个bt,我没有得到任何东西$needle=“USER\u GROUP\u STATUS”$my_数组=$this->Authorize();如果(在数组($needle,$my_数组中){echo'找到了它!;die();}更不用说你可以使用单引号了。比如$key='USER\u GROUP\u STATUS';更不用说你可以用单引号了。比如$key='USER\u GROUP\u STATUS';