PHP: написание и сортировка файла - PullRequest
0 голосов
/ 20 июля 2011

Я пытаюсь написать функцию php, которая берет $ name и $ time, записать ее в текстовый файл (без mySQL) и отсортировать файл численно.

Например:

10.2342 bob
11.3848 CandyBoy
11.3859 Minsi
12.2001 dj

только что добавил Минси, например, быстрее.

Если $ name уже существует в файле, переписывайте его, только если время быстрее (меньше), чем предыдущее, и пишите, только если время вписывается в 300 записей, чтобы размер файла был небольшим.

Моя сильная сторона - это не запись файла, но я собирался использовать file (), чтобы превратить весь файл в массив, но, насколько мне было известно, он работал не совсем так, как я хотел. Любая помощь будет оценена

Ответы [ 2 ]

1 голос
/ 20 июля 2011

Если ваши наборы данных невелики, вы можете использовать var_export()

function dump($filename, Array &$data){
    return file_put_contents('<?php return ' . var_export($data, true) . ';');
}

// create a data set
$myData = array('alpha', 'beta', 'gamma');

// save a data set
dump('file.dat', $myData);

// load a data set
$myData = require('file.dat');

Выполните сортировку, используя функции PHP array_*, и при необходимости сбрасывайте. var_export() сохраняет данные в виде текста с возможностью PHP, поэтому функция dump() добавляет строку <?php return. Конечно, это действительно приемлемый вариант, когда ваши наборы данных будут достаточно маленькими, чтобы хранить их содержимое в памяти не было необоснованным.

0 голосов
/ 20 июля 2011

Попробуйте создать многомерный массив «$ timeArray [key] [time] = name», а затем отсортируйте ($ timeArray)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...