0

How can I search in a 2d array if a value DOES NOT exist and if not, add the value in the 2d array?

I hav been trying using foreach loop however the code adds many values as keys in the array.

Now I am trying using array_key_exists but stil not luck.

array1 = [["aab","17"],["bbb","6"],["aac","5"],["aad","76"]];

if(array_key_exists('AAA', $array1)) {
    echo "FOUND";
}else{

array_push($array1, ['AAA','1']);

}

print_r($array1); // [["aab","17"],["bbb","1"],["aac","5"],["aad","5"],['AAA','1']]
SNos
  • 3,430
  • 5
  • 42
  • 92

1 Answers1

0

You can use PHP's array_search

$array1 = [["aab","17"],["bbb","6"],["aac","5"],["aad","76"]];

$found = false;
foreach($array1 as $a){
  if(array_search('AAA',$a) !== false){
      $found = true;
  }
}
if(!$found){ 
  array_push($array1, ['AAA','1']);
}


print_r($array1);
kurt
  • 1,146
  • 1
  • 8
  • 18
  • Thanks, but it is not working. The value is added even if exist. You can try here...... http://sandbox.onlinephpfunctions.com/code/4a1d09353cbff3033657943623148cc510dd0de4 – SNos Nov 08 '15 at 01:14