不言不语

您现在的位置是: 首页 >  PHP

PHP

[面试官] 问:不使用strrev()函数,如何实现字符串反转

2022-07-25PHP
这是一道超级经典的PHP面试题了,基本上都是会被问起。面试官总是要转牛角尖的。但是开发中基本是只会用php函数,才是更简便的。

不过没办法。面试就是各种卷,来看看吧!


实现字符串反转主要用到的函数是:strrev() 函数


定义和用法
strrev() 函数反转字符串。

语法
strrev(string)


参数 描述
string 必需。规定要反转的字符串。


实例:

<?php
echo strrev("abcdefg");
?>


输出:

gfedcba


扩展,出现的面试题

不用php的函数我们还可以使用for循环去自定义方法来实现这一功能

$str = 'abcdefg';


function str_re($str)
{
    for($i=0;true;$i++)
    {
        if(!isset($str[$i]))
        {
            break;
        }
    }

    $return = '';

    for($j=$i-1;$j>=0;$j--)
    {
        $return .= $str[$j];
    }

    return $return;
}

echo str_re($str).'<br>';

echo strrev($str);

将 “1234567890” 转换成 “0987654321” 不要使用函数

<?php
$s = '1234567890';
$o = '';
$i = 0;
while(isset($s[$i]) && $s[$i] != null) {
    $o = $s[$i++].$o;
}
echo $o;


// abcdefg -> gfedcba

// 将字符串看做数组来处理 [a,b,c,d,e,f,g]

function str_rev($str)
{
    for ($i = 0true; $i++) {
        // 判断字符串长度
        if (!isset($str[$i])) {
            break;
        }
    }
    $return = '';
    for ($j = $i-1; $j >= 0; $j--) {
        $return .= $str[$j];
    }
    return $return;
}


echo str_rev('abcdefg'); // 调用函数


文章评论