Просмотр поста

.
ДоХтор

Вот как ни странно, оба варианта занимают равный объём памяти

вариант 1 (+/-)
<?php

$source = array(
    0 => array('a' => 'a10',
               'b' => 'a20',
               'c' => 'cccc30',
               'd' => 'a40',
               'e' => 'a50'),
    1 => array('a' => 'b10',
               'b' => 'b20',
               'c' => 'b30',
               'd' => 'b40',
               'e' => 'b50'),
    2 => array('a' => 'c10',
               'b' => 'c20',
               'c' => 'cccc30',
               'd' => 'c40',
               'e' => 'c50')
);

function counting($arr = array()) {
    $sum = 0;
    foreach ($arr as $val) $sum++;
    return $sum;
}

counting($source);

echo memory_get_usage();

вариант 2 (+/-)
<?php

$source = array(
    0 => array('a' => 'a10',
               'b' => 'a20',
               'c' => 'cccc30',
               'd' => 'a40',
               'e' => 'a50'),
    1 => array('a' => 'b10',
               'b' => 'b20',
               'c' => 'b30',
               'd' => 'b40',
               'e' => 'b50'),
    2 => array('a' => 'c10',
               'b' => 'c20',
               'c' => 'cccc30',
               'd' => 'c40',
               'e' => 'c50')
);

function counting($arr = array()) {
    $sum = 0;
    while (each($arr)) $sum++;
    return $sum;
}

counting($source);

echo memory_get_usage();