字符串结尾可以包含随机数时的PHP字符串比较

我需要使下面的PHP工作.我基本上需要获取存储在$sshCommandResponseString中的字符串,并检查它是否包含4个possibble字符串中的1个.

start: Job is already running: MysqL
MysqL start/running, process 8019
MysqL stop/waiting MysqL start/running, process 8348
stop: UnkNown instance: MysqL start/running, process 8693

最后3个字符串以4位数字结尾,该数字始终是不同的值.因此,我无法像下面的函数那样执行简单的if / else检查,因为字符串有时会以4位数字结尾!

那么检查我的字符串是否与这4个字符串中的1个匹配的最佳方法是什么?

function didMysqLDbRestart($sshCommandResponseString){

    if( $sshCommandResponseString == 'start: Job is already running: MysqL' ){
        return true;
    }else if( $sshCommandResponseString == 'MysqL start/running, process 8019' ){
        return true;
    }else if( $sshCommandResponseString == 'MysqL stop/waiting MysqL start/running, process 8348' ){
        return true;
    }else if( $sshCommandResponseString == 'stop: UnkNown instance: MysqL start/running, process 8693' ){
        return true;
    }else{
        return false;
    }
}

if(didMysqLDbRestart($sshCommandResponseString)){
    echo 'SUCCESS: MysqL Database Rebooted';
}else{
    echo 'ERROR: MysqL Database Did Not Reboot';
}

更新

用户Laser的答案上加上这样的内容也许没问题…

  function didMysqLDbRestart($sshCommandResponseString){
    if(preg_match('/^.*\d{4}$/', trim($sshCommandResponseString)) > 0){
        return true;
    }else if($sshCommandResponseString == 'start: Job is already running: MysqL'){
        return true;
    }else{
        return false;
    }
  }

解决方法:

在这里正则表达式.

<?PHP
  function didMysqLDbRestart($sshCommandResponseString){
    return preg_match('/process \d+$/', trim($sshCommandResponseString)) > 0;
  }

 if(didMysqLDbRestart($sshCommandResponseString)){
    echo 'SUCCESS: MysqL Database Rebooted';
    } else{
   echo 'ERROR: MysqL Database Did Not Reboot';
 }

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...