Следующий массив выводится из моего db.
$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?
Я искренне извиняюсь за то, что не правильно сформулировал это в первый раз.
Если вы хотите найти 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 } }
сделайте свой массив следующим:
$your_array = array('key1'=>'value1', 'key2'=>'value2');
затем используйте это, чтобы увидеть, существует ли ключ в массиве.
if (array_key_exists('key2', $your_array)) {
Однако, не зная о том, что именно вы имеете в виду в своем вопросе, чтобы ответить на ваш вопрос, вы можете использовать array_key_exists()
чтобы проверить, существует ли заданный ключ или индекс в массиве.
поместите свою проверку в функцию
$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
Я ДУМАЮ (только потому, что вы используете code
дважды, поэтому я предполагаю, что это не поле поиска, или это проблема семантики). Если это семантика, как все уже сказали , попробуйте array_key_exists .