Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: операции с массивом
 
 автор: Kimoron   (08.09.2008 в 20:26)   письмо автору
 
 

Попробуйте помочь - функцией save (код ниже) я читаю массив из файла, добавляю в его конец значение, сдвигаю первой значение массива и пишу обратно в файл. Все работает отлично.
Помогите сделать некоторые проверки:

Если значение $num ноль или отрицательное - выходим в файл ничего не пишем.
Если значение $num отличается от последнего в массиве на +-10% выходим, в файл не пишем.
И как прочитать из массива второе с конца значение ( первое с коца читаем - ( end( $tmp ) ))

function save( $file, $num ) {

$tmp = (array) file( "file.txt" );

if( trim( end( $tmp ) ) == $num ) return; // если значение идентично последнему - выходим

array_shift( $tmp );

$tmp[] = $num . "\n";


$fp = fopen( "file.txt", "w" );
fwrite( $fp, implode( '', $tmp ) );
fclose( $fp );


}

  Ответить  
 
 автор: Trianon   (08.09.2008 в 21:05)   письмо автору
 
   для: Kimoron   (08.09.2008 в 20:26)
 

>Если значение $num ноль или отрицательное - выходим в файл ничего не пишем.
if($num <= 0 ) return;
>Если значение $num отличается от последнего в массиве на +-10% выходим, в файл не пишем.
Отличается более чем на 10 % ? Отличается менее чем на 10% ?
$last = floatval(end($tmp));
if($last && abs(100*($num - $last)/$last) > 10 ) return;

>И как прочитать из массива второе с конца значение ( первое с коца читаем - ( end( $tmp ) ))
end($tmp);
$x = prev($tmp);

  Ответить  
 
 автор: Kimoron   (08.09.2008 в 21:07)   письмо автору
 
   для: Trianon   (08.09.2008 в 21:05)
 

Спасибо!!!!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования