在Array中查找值

时间:2011-01-16 00:24:15

标签: php

从我的数据库输出以下数组。

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

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

如何查找此数组中是否包含变量?

即。

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

使用PHP最简单的方法是什么?

我真诚地为第一次没有正确写字而道歉。

5 个答案:

答案 0 :(得分:2)

制作你的阵列:

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

然后使用它来查看数组中是否存在密钥。

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

答案 1 :(得分:2)

如果您希望找到数组的KEY,请参考array_key_exists()方法。 这方面的一个例子是:

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

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

如果您希望找到数组的VALUE,则可以参考in_array()方法。这方面的一个例子是:

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

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

<强>凯文:

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

答案 2 :(得分:1)

不确定您在问题中的确切含义,但是,要回答您的问题标题,您可以使用array_key_exists()函数检查数组中是否存在给定的键或索引。

答案 3 :(得分:1)

将验证放入函数

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

答案 4 :(得分:0)

$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

我认为(仅因为您使用code两次,所以我认为这不是搜索字段 - 或者是语义问题)。如果它是其他人已经建议的语义,请尝试array_key_exists