uzumeti
@uzumeti

Как выбрать из строки число, которое >= указанному?

Нужно проверить строку "7123" на наличие в ней числа, например "7" и забрать его для дальнейших действий. Но при этом, если у нас с сервера следующий раз придет строка "8123", нам нужно выбрать цифру 8, которая >= цифре 7 (без изменения кода на php)
Нашел примерно такой вариант.
$mystring = '7123';
$c=7;
$findme   = $c;
$pos = strpos($mystring, $findme);

if ($pos === false) {
    echo "Строка '$findme' не найдена в строке '$mystring1'";
} else {
    echo "Строка '$findme' найдена в строке '$mystring1'";
    echo " в позиции $pos";
}


Вот как теперь заставить скрипт искать не цифру 7 в этой строке, а цифру, которая больше или равна 7, и затем вывести ее на печать например.
Можно ли такое вообще сообразить через strpos?
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 4
@Fisher21
$mystring = '7123';
$test = 7;
for ($i=0; $i < strlen($mystring); $i++) { 
	if(intval($mystring{$i})>=$test){
               echo $mystring{$i}; break;
        }
}
Ответ написан
AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"
Можно через цикл. Перебираешь всю строку, получившееся значение переводишь его в int и сравниваешь с 7,если больше или равно, вводишь, останавливает цикл
Ответ написан
@ipokos
$mystring = '8123';
$result = mb_substr($mystring, 0, 1);
if($result >= 7){
    //TO DO
}else{
    //TO DO
}

а так не?
Ответ написан
uzumeti
@uzumeti Автор вопроса
Всем спасибо за помощь! Но что-то метод палки и веревки не работает :)

Объясню всю задачу. Есть такая штука PWA. Есть некоторый сайт и нужно, чтобы если пользователь зашел не с хрома, ему написали - зайди с хрома и сможешь установить приложение. Я пытался через $_SERVER['HTTP_USER_AGENT'] проверить, что браузер хром. Но браузеры, собаки, отдают одинаковые значения (Многие браузеры). Хотел увязать проверку на версию браузера и название. По логике, что если браузер хром и его версия больше или равна 73, то уведомление не показываем. В итоге так и не смог решить эту задачку. Не могу никак вычленить из строки связку хром-версия.

Решил немного иначе:

if (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') !== FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'OPR') == FALSE) 
        {
            $browser2 = a1; //Chrome
        }
        elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== FALSE) 
        {
            $browser2 = a2; //Лиса
        }
        
         elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') == FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') !== FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'OPR') == FALSE)
        {
            $browser2 = a3; //Сафари
        }
        
        elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') !== FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'OPR') !== FALSE) 
        {
            $browser2 = a4; //Опера
        }
        
        elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') == FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') == FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'OPR') == FALSE) 
        {
            $browser2 = a5; //Что угодно
        }
        
        
        echo $browser2;
        
        
        if ($browser2 != 'a1') {$w='block';}
                
                else {$w='none';}
        
        
        
        ?>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы