minte9
LearnRemember / PHP



Value Exists

Check if a value exists in an array.
 
/**
 * Check if value exists in arrray with isset
 */

$A = [1, 2];
$B = ['a'=>1, 'b'=>NULL];

var_dump( in_array(1, $A) );        // true
var_dump( isset($B['b']) );         // false
var_dump( isset(['a'=>1]['b']) );   // false

Array Search

Array search may return false, always use indentical operator.
 
/**
 * array_search()
 * 
 * The search may return false
 * Always use identical operator
 */

$A = [1,2,3,4];

echo (array_search(4, $A)); // 3
echo (array_search(5, $A) == 0) == true;    // 1 - Incorrect
echo (array_search(5, $A) === 0) === false; // 1 - Correct

Keys

If specified, only the keys for that value are returned.
 
/**
 * array_keys()
 * 
 * Has a search value option
 */

$A = ['a', 'b', 'a', 'c', 'a', '0', false];

print_r(array_keys($A));        // 0, 1, 2, 3, 4, 5, 6
print_r(array_keys($A, 'a'));   // 0, 2, 4






Questions and answers




How do you check if a value exists in an array?

  • a) in_array($needle, $array);
  • b) in_array($array, $needle);

How do you check if a key exists in an array?

  • a) in_array_key($array, $key);
  • b) array_key_exists($key, $array);

How do you search the key for a given value? [a,2]

  • a) array_search($val, $array);
  • b) array_search($array, $key);


References