在上一篇《PHP算法练习二:求n和指定数的绝对差》文章中介绍了怎么求两个数的绝对差值以及差值的三倍值,今天继续PHP基础算法系列,不过不是简单的数值之间的计算了,具体往下看
本文练习的主题是“编写一个 PHP 程序来交换给定字符串中的第一个和最后一个字符并返回新字符串”。
根据这个问题,大家动手自己先练练吧~
下面我给出我的实现方法:
PHP代码如下:
<?php function test($str) { return strlen($str) > 1 ? substr($str, strlen($str) - 1).substr($str, 1, strlen($str) - 2). substr($str, 0, 1) : $str; } echo test("abcd")."<br>"; echo test("a")."<br>"; echo test("xy")."<br>";
输出结果是:
本示例中,我们给的第一个字符串是“abcd”,那么交换第一个和最后一个字符,并输出的新字符串就是“dbca”;
给的第二个字符串是“a”,输出是a;
第三个字符串是“xy”,输出的新字符串是“yx”。
这里用到了三元运算符“?:”,以及strlen、substr函数。
下面在简单介绍下两个函数的作用:
strlen()函数的作用是返回字符串的长度,语法是“strlen(string)”;其返回值是若成功则返回字符串的长度,若字符串为空则返回 0。
注:在 PHP 5.3.0 之前,该函数把数组当做字符串 Array,这样就返回一个长度为 5 的字符串,并产生一个 E_NOTICE 级别的错误。
substr()函数的作用是返回字符串的一部分,语法是“substr(string,start,length)
”;其返回值是返回字符串的提取部分,若失败则返回 FALSE,或者返回一个空字符串。
注:如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。
最后给大家