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

时间:2017-04-21 09:14:52

标签: php arrays

我有以下示例功能。

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'吗?

4 个答案:

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

Live Demo

答案 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();
        }

    }