php - 如何在 PHP 中将句子中每个单词的最后一个字母大写?

标签 php function foreach

这是我得到的起点:

<?php

function capitaliseLastLetterOfEachWord( $string ){

    return $string;

}

echo capitaliseLastLetterOfEachWord("The quick brown fox jumps over the lazy dog");

?>

这是我所得到的,它给了我每个单词的最后一个大写字母:

<?php

function capitaliseLastLetterOfEachWord( $string ){

    $separate = explode(" ", $string);

    foreach($separate as $word) {
        $lastword = $word[strlen($word) - 1 ];
        echo strtoupper($lastword) . "<br>";
    }
}

echo capitaliseLastLetterOfEachWord("The quick brown fox jumps over the lazy dog"); 

?>

最佳答案

其他人已经给出了简短的方法,只是为了解释您现在正在做什么,您只是对最后一个字符串进行更改而不返回它。您需要定位最后一个字符,然后进行更改,只需 & 在 foreach 中添加引用,然后不要忘记返回值:

$lastword = $word[strlen($word) - 1 ];
// you're not returning and appending your changes

<?php

function capitaliseLastLetterOfEachWord( $string ){
    $separate = explode(" ", strtotlower($string));
    foreach($separate as &$word) { // add reference
        $word[strlen($word) - 1] = strtoupper($word[strlen($word) - 1]);        
        //   point to it ^ ,       the change ^
    }
    return implode(' ', $separate); // don't forget to return
}

echo capitaliseLastLetterOfEachWord("The quick brown fox jumps over the lazy dog"); 

关于php - 如何在 PHP 中将句子中每个单词的最后一个字母大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30278024/

相关文章:

java - For-Each 循环困惑的严重案例

php - 安装 Laravel 后 XAMPP localhost 返回未找到的对象

javascript - 在 Angular Component 类中调用自定义 jQuery 函数

C++ 使用可变参数模板绑定(bind)成员函数

php - android - 在 mysql 上使用 foreach 显示数据数组

PHP 回显所有子文件夹图像

php - 在 PHP 中使用 UTF-8 字符集 - 是否需要 mb 函数?

php - 如何使用 Laravel 5 和文件系统将大(视频)文件上传到 AWS S3?

php - 使用 c++/php 打印网站的 HTML?

python - 在 python 中访问 MFC 函数