开发者

Find Value in Array

The following array is output from my db.

$this->db->select('code')->from('table');
$array = $this->db->get()->result_array();

//Output:
Array ( [0] => Array ( [code] => ASDF123 ) [1] => Array ( [code] => ASDF124 ) )

How can I find if a variable is contained in this array?

ie.

if(this_is_in_array($value, $array) == TRUE)...

What's the simplest way to to that with PHP开发者_开发知识库?

I sincerely apologize for not wording this correctly the first time.


In case you wish to find the KEY of an array you would refer to the array_key_exists() method. An example of this would be:

$array = array(
    'key1' => 'value1',
    'key2' => 'value2'
);

if ( array_key_exists( 'key2', $array ) )
    return TRUE;

If you would however prefer to find the VALUE of an array, you would refer to the in_array() method. An example of this would be:

$array = array(
    'key1' => 'value1',
    'key2' => 'value2'
);

if ( in_array( 'value1', $array ) )
    return TRUE;

Kevin:

foreach( $array as $key => $values )
{
    if ( $values['code'] == 'ASD1234' )
    {
        // do something
    }
}


make your array this:

$your_array = array('key1'=>'value1', 'key2'=>'value2');

then use this to see if the key exists in the array.

if (array_key_exists('key2', $your_array)) {


Unsure about what exactly you mean in your question, however, to answer your question title, you can use the array_key_exists() function to check if a given key or index exists within an array.


put your validation into the function

$input = 'ASDF123';

function check_input($input) {
    $array = array(
        0 => array('code' => 'ASDF123'),
        1 => array('code' => 'ASDF124')
    );
    foreach ($array as $codes) {
        if (in_array($input, $codes)) {
            return true;
        }
    }

    return false;
}


$needle = 'ASDF123';
$ary = Array(
  Array('code' => 'ASDF123'),
  Array('code' => 'ASDF124')
);
$_ = "return (\$a['code']='".addslashes($needle)."');";
if (count(array_filter($ary[0],create_function('$a',$_))) > 0)
  //true

I THINK (only because you use code twice, so I assume that's not the search field--or it's a semantics issue). If it is semantics, as everyone else has already suggested, try array_key_exists.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜