Re: reverse string without strrev();

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2008-02-28 at 12:39 +0000, Nathan Rixham wrote:
> Aschwin Wesselius wrote:
> > Stut wrote:
> >> Just because it works doesn't mean it's right.
> >>
> >> -Stut
> >>
> > 
> > 
> > What I meant was that I tested the script and it worked, so I didn't 
> > spot the flaw (wich is obvious and you were right).
> > 
> > No big deal.
> > 
> 
> should it not use curlies?
> 
> $tmp = '';
> $str = 'abcdef';
> for ($i = strlen($str)-1; $i >= 0; $i--) {
>   $tmp.= $str{$i};
> }
> echo $tmp;
> 
> 
> here's the "overkill" way to do it:
> 
> $str = 'abcdef';
> $rev = implode(array_flip(array_reverse(array_flip(str_split($str)))));
> echo $rev;
> 
> *sniggers*

There's always a tradeoff between speed and memory. Here's the low
memory version:

<?php

$str = '1234567';
str_reverse_in_place( $str );
echo 'Reversed: '.$str."\n";

function str_reverse_in_place( &$str )
{
    $a = 0;
    $z = strlen( $str ) - 1;

    while( $a < $z )
    {
        $t = $str[$a];
        $str[$a] = $str[$z];
        $str[$z] = $t;

        ++$a;
        --$z;
    }
}

?>

Cheers,
Rob.
-- 
.------------------------------------------------------------.
| InterJinn Application Framework - http://www.interjinn.com |
:------------------------------------------------------------:
| An application and templating framework for PHP. Boasting  |
| a powerful, scalable system for accessing system services  |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for       |
| creating re-usable components quickly and easily.          |
`------------------------------------------------------------'

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux