<?php
//Проверка телефонного номера
$regexp = '/^[+]?([(]?-?\\s?\\d\\s?-?[)]?){11}$/';

$rightNumbers = array('84951234567', '+74951234567', '8-495-1-234-567', ' 8 (8122) 56-56-56',
    '8-911-1234567', '8 (911) 12 345 67', '8-911 12 345 67', '8 (911) - 123 - 45 - 67');
$wrongNumbers = array(
	'02', 
	'84951234567 позвать люсю', 
	'849512345', 
	'849512345678', 
	'8 (409) 123-123-123',
    '7900123467', 
    '5005005001', 
    '8888-8888-88', 
    '84951a234567', 
    '8495123456a', 
    '+1 234 5678901', // неверный код страны
    '+8 234 5678901', // либо 8 либо +7
    '7 234 5678901'  // нет +
);

for ($i =0; $i < count($rightNumbers); $i++) {
    if (preg_match($regexp, $rightNumbers[$i])) {
        echo "Номер " . $rightNumbers[$i] . " верный. Все окей.\n";
    } else {
        echo "Номер якобы неверный, что то в нашей регулярке не в порядке.\n";
    }
}
echo "Неверные номера: \n";
for ($i =0; $i < count($wrongNumbers); $i++) {
    if (preg_match($regexp, $wrongNumbers[$i])) {
        echo "Номер " . $wrongNumbers[$i] . " якобы верный. Что то тут не то...\n";
    } else {
        echo "Номер неверный, все окей!\n";
    }
}