|
|
|
|
|
для: vitali
(23.01.2008 в 09:54)
| |
function add($an) -> function add($arr)
|
| |
|
|
|
|
|
|
|
для: Петр
(22.01.2008 в 21:02)
| | Прошу прощение, на Вашем форуме новичок, как впрочем и с PHP (изучаю). Запустил Ваш (kasmanaft ) скрипт, получил следующее:
Warning: Invalid argument supplied for foreach() in …(URL)…. on line 6
Вуа-ля: 0. | |
|
|
|
|
|
|
|
для: DJ Paltus
(22.01.2008 в 20:18)
| | спасибо большое | |
|
|
|
|
|
|
|
для: kasmanaft
(22.01.2008 в 20:09)
| | Разве не надо? Чето я запуталсо. Все верно, ОК. | |
|
|
|
|
|
|
|
для: DJ Paltus
(22.01.2008 в 20:01)
| | >> if(is_array($str)) add($str); //если очередной элемент тоже массив, вызываем рекурсию
В таком случае не надо считать его длину :)
Правильнее, наверное, будет if(is_array($str)) $sum += add($str);
т.е.
<?php
$arr=array("one","two","three","four");
function add($an){
$sum=0;
foreach ($arr as $str) {
if(is_array($str))
$sum += add($str); //если очередной элемент тоже массив, вызываем рекурсию
else $sum += strlen($str);
}
return($sum);
}
echo "Вуа-ля: ".add($arr);
?>
|
Проверить тоже не на чем..... | |
|
|
|
|
|
|
|
для: DJ Paltus
(22.01.2008 в 19:51)
| | а, пардон, не дочитал техзадание...
<?php
$arr=array("one","two","three","four");
function add($an){
$sum=0;
foreach ($arr as $str) {
$sum=$sum+strlen($str);
if(is_array($str)) add($str); //если очередной элемент тоже массив, вызываем рекурсию
}
return($sum);
}
echo "Вуа-ля: ".add($arr);
?>
|
Наверное, так, не могу сейчас протестировать. | |
|
|
|
|
|
|
|
для: Петр
(22.01.2008 в 19:31)
| | Размер массива в байтах и количество памяти, которую он занимает, различаются, так как в массиве, помимо самих данных, содержится служебная инфа о структуре массива (это на всякий случай).
А чтобы просто все байты содержимого массива сосчитать - пожалуйста:
<?php
$arr=array("one","two","three","four");
$sum=0;
foreach ($arr as $str) $sum=$sum+strlen($str);
echo "Вуа-ля: ".$sum;
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(24.06.2007 в 12:12)
| | а как расчитать размер сложного массива (с неизвестной глубиной вложенности) в байтах? | |
|
|
|
|
|
|
|
для: sirov
(24.06.2007 в 11:59)
| | Можно воспользоваться функцией strlen(). | |
|
|
|
|
|
|
| Здравствуйте. Скажите пожалуйста как это сделать, какая для этого есть функция?
Заранее спасибо | |
|
|
|
|