我想检查数组值是否包含“?” 或不。如果是,则必须提取问号后面的字符。谢谢你。
这是我的代码:
<?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 达到同样的效果?
我想检查数组值是否包含“?” 或不。如果是,则必须提取问号后面的字符。谢谢你。
这是我的代码:
<?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 达到同样的效果?
数组还是字符串?在数组中,它不像字符被捆绑在一起。假设您的意思是一个字符串,您可以尝试
<?php
$haystack="testata?basdasd";
$needle="?";
$pos = strpos($haystack,$needle);
if($pos!==FALSE && $haystack[$post+1]!="")
echo $haystack[$pos+1];
?>
$storedText = [];
Foreach($arrray as $a){
$postion = strpos($a,"?");
If($position !== false){
$succeedingText = substr($a,$position);
$storedText[] = $succeedingText;
}
}
比 $storedText 是一个数组,其中所有文本都在 ? 在所有包含 ?
使用in_array()
.. 比正则表达式快得多
<?php
$a = array('1','?','3');
$needle = '?';
if(in_array($needle,$a))
{
echo $needle;
}
假设您的问题意味着是否有“?” 字符串中的字符,数组中的字符:
没有正则表达式:
<?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
}
}
?>