user7900491
user7900491

Reputation:

How to check if specific value exists in side an array?

I have the following sample function.

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 gives the following 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'
      )

but checking array keys is nt working. what I wanted to do is to check if the one of the values exist. for example if 'USER_GROUP_STATUS' exists in the array ?

Upvotes: -2

Views: 63

Answers (4)

sandip kakade
sandip kakade

Reputation: 1356

Try this in_array() function

    if (in_array("USER_GROUP_STATUS", $your_array)) {
    echo "Got USER_GROUP_STATUS";
}

or You can try this way

    $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

Upvotes: 2

user6243946
user6243946

Reputation:

do sth like this

public function by_category()
    {

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

    }

Upvotes: 0

Reinder Hijlkema
Reinder Hijlkema

Reputation: 5

$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!';
}

Hope this helps you.

Upvotes: 0

NoOorZ24
NoOorZ24

Reputation: 3277

Simply use in_array() :

if (in_array($string, $Arr)) {
    //code
}

Upvotes: 1

Related Questions