Есть цикл, который построчно записывает в файл. PHP: foreach ($data as $key => $value) { foreach ($data[$key] as $key2 => $value2) { if($key2 == 'status' and $value2 == 'available'){ fwrite($f, $key.' = '.$value2.';'."\r\n");} elseif($key2 == 'status' and ($value2 == 'regthroughothers' or $value2 == 'regthroughus' or $value2 == 'unknown')) { fwrite($f, $key.' = '.$value2.';'."\r\n");} } }} fclose($f); Как сделать так, что available он записывал в начало файла, а все остальное в конец?
1) откуда берётся массив $data? 2) покажите структуру массива (точнее прикрепите к теме его целиком) 3) покажите конечный результат который вы хотите получить, или опишите словами алгоритм при котором должен быть достигнут желаемый результат.
А тебя не смущает что при любом if ты в файл пишешь одно и тоже? fwrite($f,$key.' = '.$value2.';'."\r\n");}
Собственно, такой простой вставки в начало файла нет. Так как запись, собственно говоря, идет в "файловый поток"... Но можно предварительно сформировать/отсортировать массив и в правильной порядке записывать в файл.
В двух местах код был дерьмом PHP: foreach ( $data AS $key => $value ) { foreach ( $value AS $key2 => $value2 ) { if ( $key2 === 'status' && in_array ( $value2, [ 'available', 'regthroughothers', 'regthroughus', 'unknown' ], 1 ) ) { file_put_contents ( ПУТЬ_К_ФАЙЛУ, "{$key} = {$value2};" . PHP_EOL, FILE_APPEND ); } } }