【发布时间】:2014-05-08 17:28:56
【问题描述】:
首先,由于某些原因(例如字符串可以有多种类型),我不能在我的一个项目中使用explode() 函数。我得到一个字符串,如:“##% off”。所以要检查它是否是 THIS 类型的字符串,我想检查它是否包含单词“off”。我正在尝试使用子字符串来获取字符串的尾部,然后我很惭愧,它总是给我答案“否”。
我正在测试这个:
<?php
echo $string1 = '05% off'. '<br/>';
echo $string2 = '03% Off'. '<br/>';
echo $string3 = '50% OFF'. '<br/>';
echo $string4 = '50% oFf'. '<br/>';
echo '<hr/>';
echo $firstsub = substr( $string1, 4 );
echo $secondsub = substr( $string2, 4 );
echo $threesub = substr( $string3, 4 );
echo $foursub = substr( $string3, 4 );
echo '<br/>';
echo substr( $string1, 0, 2 ) . '<br/>';
echo substr( $string2, 0, 2 ) . '<br/>';
echo substr( $string3, 0, 2 ) . '<br/>';
echo substr( $string4, 0, 2 ) . '<br/>';
echo '<hr/>';
echo '<h2>TESTING</h2>';
if( strtolower( $firstsub ) == 'off' ) { echo "Yes" . '<br/>'; } else { echo "No" . '<br/>'; }
if( strtolower( $secondsub ) == 'off' ) { echo "Yes" . '<br/>'; } else { echo "No" . '<br/>'; }
if( strtolower( $threesub ) == 'off' ) { echo "Yes" . '<br/>'; } else { echo "No" . '<br/>'; }
if( strtolower( $foursub ) == 'off' ) { echo "Yes" . '<br/>'; } else { echo "No" . '<br/>'; }
?>
我不明白为什么会这样?
【问题讨论】:
-
为什么不简单地使用正则表达式?