在php代码中使用if/else运算符
我的问题是: 我的项目中有以下代码:在php代码中使用if/else运算符,php,if-statement,Php,If Statement,我的问题是: 我的项目中有以下代码: $news = "Article 20.part2"; if(strpos($news,'.part1')) {$news_n = ".part1";} else if(strpos($news,'.part2')) {$news_n = ".part2";} else if(strpos($news,'.part3')) {$news_n = ".part3";} else if(strpos($news,'.part4')) {$news_n = ".
$news = "Article 20.part2";
if(strpos($news,'.part1')) {$news_n = ".part1";}
else if(strpos($news,'.part2')) {$news_n = ".part2";}
else if(strpos($news,'.part3')) {$news_n = ".part3";}
else if(strpos($news,'.part4')) {$news_n = ".part4";}
else if(strpos($news,'.part5')) {$news_n = ".part5";}
echo $news;
echo "Part number:" . $news_n . "- <a href=\"#\">Read more</a>";
等我的代码
有没有更简单的方法
提前感谢您的帮助 如果您要查找的字符串是基于您在问题中所说的编号的,您可以执行以下操作:
foreach(range(1, 50) as $i) {
$part = sprintf('.part%d', $i);
if(strpos($news, $part) {
$news_n = sprintf('.%s', $part);
}
}
如果您要查找的字符串按照您在问题中所说的方式进行编号,则可以执行以下操作:
foreach(range(1, 50) as $i) {
$part = sprintf('.part%d', $i);
if(strpos($news, $part) {
$news_n = sprintf('.%s', $part);
}
}
可能是这样的:
for($i=1;$i<100;$i++)
{
if(strpos($news,'.part'.$i))
$news_n = '.part'.$i;
}
对于($i=1;$i可能类似于:
for($i=1;$i<100;$i++)
{
if(strpos($news,'.part'.$i))
$news_n = '.part'.$i;
}
对于($i=1;$i您可以用于此
你可以用这个
使用正则表达式
$matches=[];
if (preg_match_all('.part\[( ^[0-9]{1,3}$)\]/', $news, $matches)) {
print_r($matches);
}
使用正则表达式
$matches=[];
if (preg_match_all('.part\[( ^[0-9]{1,3}$)\]/', $news, $matches)) {
print_r($matches);
}
这是最好的解决方案,但可能他需要在去regexp之前考虑循环这是最好的解决方案,但可能他需要在去regexp之前考虑循环,就像一个魔咒一样工作!谢谢!像一个魔咒一样工作!谢谢!