返回首页 - Notes - 2014

PHP 不借助库函数实现字符串翻转


<?php

/**
 * 计算字符串长度
 */
function str_len ($str) {
    $i = 0;
    while (isset($str[$i])) {  // isset是语言构造器,不是函数
        ++$i;
    }
    return $i;
}


/**
 * 翻转字符串(使用的方法为从字符串首尾开始,两两交换,直到最中间的字符)
 */
function str_rev ($str) {
    $len = str_len($str);
    for ($i = 0; $i < $len - 1; ++$i) {
        $j = $len - $i - 1;
        if ($i >= $j) break;  // 左下标大于或等于右下标时中断处理
        $temp = $str[$i];
        $str[$i] = $str[$j];
        $str[$j] = $temp;
    }
    return $str;
}


// 测试
echo str_rev('Ruchee');

date : 2014-07-07