-1

配列の値に「?」が含まれているかどうかを確認したい か否か。はいの場合、疑問符に続く文字を抽出する必要があります。ありがとうございました。

これが私のコードです:

<?php
// Assume the Url to be localhost/demo/index.php?set=1
$path = explode('/',$_SERVER['REQUEST_URI']);
if (strpos($path[2], '?') !== false) {
echo "found";
}
?>

preg_match を使用して同じことを達成するにはどうすればよいですか?

4

4 に答える 4

1

配列か文字列か? 配列では、文字が一緒に束ねられているようではありません。あなたが試すことができる文字列を意味すると仮定すると

<?php

$haystack="testata?basdasd";
$needle="?";

 $pos = strpos($haystack,$needle);
 if($pos!==FALSE && $haystack[$post+1]!="")
  echo $haystack[$pos+1];

?>
于 2013-09-27T05:14:04.223 に答える
0

..を利用するin_array()正規表現よりもかなり高速

<?php

$a = array('1','?','3');
$needle = '?';
if(in_array($needle,$a))
{
    echo $needle;

}
于 2013-09-27T05:12:11.950 に答える
0

あなたの質問が「?」があるかどうかを意味すると仮定すると 配列内の文字列内の文字:

正規表現なし:

<?php
   for($i = 0; $i < count($array); $i++) {
     if (strpos($array[$i], '?') !== false) {
       // you found your item, use the $i index and break the loop
     }
   }
?>

正規表現の場合:

<?php
   for($i = 0; $i < count($array); $i++) {
     if (preg_match('/\?/', $array[$i])) {
       // you found your item, use the $i index and break the loop
     }
   }
?>
于 2013-09-27T05:17:22.183 に答える
0
$storedText = [];

Foreach($arrray as $a){
   $postion = strpos($a,"?");

   If($position !== false){
      $succeedingText = substr($a,$position);
      $storedText[] = $succeedingText;
   }

}

$storedText よりも、? に続くすべてのテキストを含む配列です。? を含むすべての値の

于 2013-09-27T05:18:46.653 に答える