Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php if语句中str_replace的问题_Php_If Statement_Str Replace_Substr - Fatal编程技术网

Php if语句中str_replace的问题

Php if语句中str_replace的问题,php,if-statement,str-replace,substr,Php,If Statement,Str Replace,Substr,在if语句中使用str_replace时遇到一些问题。我想从输出的文本中删除复数格式 我提供了一个包含在文本输出中的关键字。因此,如果我的关键字的最后一个字符是“s”,我希望从输出中去掉复数字符。例如,如果关键字是“手提包”,我想呼应我爱手提包,而不是我爱手提包。这是我想到的,但它不起作用 <?php $keyword = "handbags"; $string = "I love $keyword's."; $last = substr($keyword, -1); if ($la

在if语句中使用str_replace时遇到一些问题。我想从输出的文本中删除复数格式

我提供了一个包含在文本输出中的关键字。因此,如果我的关键字的最后一个字符是“s”,我希望从输出中去掉复数字符。例如,如果关键字是“手提包”,我想呼应我爱手提包,而不是我爱手提包。这是我想到的,但它不起作用

<?php
$keyword = "handbags";

$string = "I love $keyword's.";

$last = substr($keyword, -1);

if ($last == "s") {str_replace("'s", "", $string);}

echo $string;
?>
如果$last==s{$string=str_replace's,$string;}

str_replace返回一个值,并且不通过引用作用于字符串。您需要将结果分配回字符串:

$string = str_replace("'s", "", $string);

这是正确的变体:

    <?php
$keyword = "handbags";

$string = "I love $keyword's.";

$last = substr($keyword, -1);

if ($last == "s") {$string=str_replace("'s", "", $string);}

echo $string;
?>
您还可以使用:

$string = "I love $keyword".(substr($keyword, -1)=="s"?".":"'s.");

为您节省了几行代码:

这应该可以做到

$keyword = "handbag";
$string = "I love $keyword";

$string_count = strlen($string)-1;
$string_check = substr($string,$string_count,1); 

if($string_check == "s"){
    $string = str_replace("s", "'s", $string);
    echo "$string.";
    }
    else {
    echo $string."'s.";
}

str_replace返回被替换的值,它不修改$string。因此,您必须执行$string=str\u替换…这里的主要缺陷是。@Tomalak哈哈哈,发现得好!:适合gravatar,所以我会放你走;请注意,除了所有格与复数s之外,这还与各种复数形式(如mices mooses和enything)不同,请参见: