簡體   English   中英

如何識別或檢測PHP中的字符?

[英]How to recognize or detect the characters in PHP?

我有一個連接到Web服務的網站,我需要識別代碼中收到的字符。

例如,我收到這樣的消息:

$str = "Hello Europe";
or :
$str = "4 times !";
or :
$str = "452231";
or :
$str= "*Majid SH";
or ...

我希望我的代碼理解我的消息開始的字符,並執行一個對應於特殊字符的功能。

例如,如果它以字符串開頭,則執行num1函數,或者如果它以'。'開頭。 [dot],執行num2函數。

感謝你們對我的幫助。

您可以按以下方式使用substr()

碼:

$char1 = substr($str, 0, 1); //getting first character

if(is_numeric($char1){
    //execute num1()
    num1();
}
elseif ($char1 == '.') {
    //execute num1()
    num2();
}

如果要確定字符是否是逗號或句點之類的特殊字符,則應使用開關 還應了解,字符串可以簡單地視為Char數組,因此您可以簡單地調用$str[0]來獲取第一個char(請參見此處 。)

switch ($str[0]) {
   case ",":
      num1();
      break;
   case ".": 
      num2();
      break;
}

您可以繼續制作不同的案例來處理不同的情況。 只要確保在每種情況下都包含一個休息點即可。

如果您想檢查某個東西是否是字符串,我相信這里有一個is_string,但是您可能需要使用其他人推薦的substr ,因為$str[0]我相信會返回一個char而不是一個字符串,所以它不會t驗證。 switch語句使用松散比較簡單地檢查參數是否與情況相同。 如果要進行更高級的檢查,則可能需要使用自己的if語句進行檢查,甚至使用正則表達式。 希望這可以幫助。

我會用strpos()

<?php
$StringFromService;
$str = "Hello Europe";
$Search = strpos($StringFromService;, $str);

if ($Search === true) {
    // run function
} 
?>
$str = 'value'; // value
$firstChar = substr($str, 0, 1);

if (is_numeric($firstChar)) {
    // do something numeric'
} else if ($firstChar === '.') {
    // do something dot'
} else {
    // do something string'
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM