Это может быть быстрее, чем запустить двигатель регулярного выражения:
if (strspn ( $subject , '01') == strlen($subject)) {
echo 'It\'s binary!';
} else {
echo 'Not binary!';
}
Если вы просто ищете простые символы или хотите их посчитать, регулярное выражение часто довольно медленное, в то время как одна или две встроенные строковые функции могут выполнять работу намного быстрее.
Может быть, это применимо здесь, а может и нет.
Услышав некоторые комментарии в комментариях, что это может не сработать, вот контрольный пример:
<?php
$strings = array('10001001', '22229999', '40004000');
foreach ( $strings as $string )
{
if ( strspn( $string, '01') == strlen( $string ) ) {
echo $string . ' is binary!' . "\n";
} else {
echo $string . ' is NOT binary!' . "\n";
}
}
Это делает работу.