[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: функция max(), почему не работает?
Vikt0r
подскажите в чем проблема, ситуация смешная, а решить не знаю как.

есть файл с данными, пусть test.dat:

в файле находятся такие цифры:

3::
4::
6::
8::
5::

вывожу его циклом,

PHP
$file = file('test.dat');

for(
$i=0; $i<count($file); $i++)
{
list(
$num) = explode("::", $file[$i]);

// проблема заключается в том, что мне нужно определить максимальное число и вывести его....

// пробую так:

$max = max($num);

print $max;

// и нихрена не выходит... пишет ошибку: [b]Warning: Wrong parameter count for max() in \localhost\max.php on line 12[/b]

}

подскажите пожалуйста как определить максимальное число в файле!
самое интересное, что с массивами, как показано в доках - работает! с файлами почему-то не хочет...

как я понял, нужно эти числа как-то засунуть в массив и потом прочитать этой функцией, кто может, покажите пожалуйста код.

заранее благодарен



Спустя 10 минут, 6 секунд (28.05.2009 - 20:28) Vikt0r написал(а):
Цитата (Vikt0r @ 28.05.2009 - 17:18)
подскажите в чем проблема, ситуация смешная, а решить не знаю как.

есть файл с данными, пусть test.dat:

в файле находятся такие цифры:

3::
4::
6::
8::
5::

вывожу его циклом,

PHP
$file = file('test.dat');

for(
$i=0; $i<count($file); $i++)
{
list(
$num) = explode("::", $file[$i]);

// проблема заключается в том, что мне нужно определить максимальное число и вывести его....

// пробую так:

$max = max($num);

print $max;

// и нихрена не выходит... пишет ошибку: [b]Warning: Wrong parameter count for max() in \localhost\max.php on line 12[/b]

}

подскажите пожалуйста как определить максимальное число в файле!
самое интересное, что с массивами, как показано в доках - работает! с файлами почему-то не хочет...

как я понял, нужно эти числа как-то засунуть в массив и потом прочитать этой функцией, кто может, покажите пожалуйста код.

заранее благодарен

извините за беспокойство.... поторопился с созданием такой интересной темки )).

кому интересно, вот код

PHP
<?
$file file('test.dat');

for(
$i=0$i<count($file); $i++)
{
list(
$num) = explode("::"$file[$i]);

$maxs[$i] = $num;
}

$max max($maxs);

print 
$max;

Спустя 1 час, 3 минуты, 37 секунд (28.05.2009 - 21:32) sergeiss написал(а):
Ежели каждая строка в начале содержит нужное число, то можно сделать всё это немного проще.
И, кстати, тут в любом случае больше подойдет цикл foreach.

PHP
$filefile'test.dat' );
foreach( 
$file as $k => $v )
{
  
$file[$k]=intval$file[$k] );
}

$max max($file);

print 
$max;

Спустя 1 месяц, 18 дней, 11 часов, 57 минут, 13 секунд (17.07.2009 - 09:29) Liga-liga написал(а):
У меня возникла проблема код использовал тот же самый:


PHP
<?
$file file('test.dat');

for(
$i=0$i<count($file); $i++)
{
list(
$num) = explode("::"$file[$i]);

$maxs[$i] = $num;
}

$max max($maxs);

print 
$max;




Но определять максимальное значение напрач отказывался!!!

содержимое файла было тоже самое

3::
4::
6::
8::
5::

Помогло такое действие: перед числами поставить еще один разделитель!)

::3::
::4::
::6::
::8::
::5::


не знаю можеть когда применяется explode файла, то первое значение считается не просто 3как в данном примере, а + еще и какой нибудь доп информацие? Странно, но объяснить сам я смог только так) Просто вдруг кто сталкнется!)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.