从我的数据库输出以下数组。
$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最简单的方法是什么?
我真诚地为第一次没有正确写字而道歉。
答案 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。