Re: Re: Array sizes?

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

 



> At 01:05 AM 2/8/2006, Barry wrote:
> >I don't think a "function" exists, but i would probably use (for
> >benchmarking) a recursive foreach in combination with strlen.
> >And add it all up.
> >(This is probably some work for the PC so that's why benchmarking)
>
>
> It would be interesting to know whether that method was faster or
> slower than using this:
>
>          $iLen = strlen(implode("", $aArray));



the problem I would have with the above code would be that it assumes
you're  using a single dimention array.

Recursive foreach:

function array_size($a){
    $size = 0;
    while(list($k, $v) = each($a)){
        $size += is_array($v) ? array_size($v) : strlen($v);
    }
    return $size;
}

This could possibly be optimised even more by using references or something
like that.

eg
foreach(array_keys($a) as $k){
    size = is_array($a[$k]) =& array_size($a[$k]) : strlen($a[$k])

But I think that for the most part your time programming will be more
important than the programs time running.

[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