Q:

Find matches in multidimensional array

I have an array that contains phone numbers in different format:
$myArr[0][0] == '122-33-2222';
$myArr[1][0] == '(122) 433-5555';
$myArr[2][0] == '122 644.8888';

I need to check if another number is in that array. I assume I need to loop through array and strip all non-numeric values before I compare. 
$findNumber = 122.433.5555;
$varPhone = preg_replace("/[^0-9,.]/", "", $findNumber);

foreach ($myArr AS $phone) {
   if (preg_replace("/[^0-9,.]/", "", $phone) == $varPhone) {
      echo "found";
   } else {
      echo "not found";
   }
}

I think I'm close but it's not quite there. What am I missing?

A:

The phone number is in the key [0] of each first-level array element, so you can't compare each instance of $phone directly. Also, I would replace all non-digit characters so that different notations still turn out as the same number.
<?php
// initialize array for the sake of this demo, to make this snippet work
$myArr = array(array(), array(), array());
$myArr[0][0] = '122-33-2222';
$myArr[1][0] = '(122) 433-5555';
$myArr[2][0] = '122 644.8888';

$findNumber = "122.433.5555";

function cleanNumber($in) {
  return preg_replace("/[^0-9]/", "", $in);
}

foreach ($myArr AS $phone) {
   // the number is in the key [0] for each first-level array element
   if (cleanNumber($phone[0]) == cleanNumber($findNumber)) {
      echo "found<br>";
   } else {
      echo "not found<br>";
   }
}

this will output:
not found
found
not found

