|
|
|
| Попробуйте помочь - функцией 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 );
} | |
|
|
|
|
|
|
|
для: 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); | |
|
|
|
|
|
|
|
для: Trianon
(08.09.2008 в 21:05)
| | Спасибо!!!! | |
|
|
|