Вот так вроде бы должно быть то, что надо
* (+/-)
if (!session_id()) session_start();
$file = file('file.txt');
$key = []; $val = [];
foreach ($file as $i => $str) {
if (!($i % 2)) {
$key[] = $str;
} else {
$val[] = $str;
}
}
if (!isset($_SESSION['arr'])) $_SESSION['arr'] = array_combine($key, $val);
for ($i = 0; $i < 3; $i++) {
if (count($_SESSION['arr']) == 0) break;
$key = array_rand($_SESSION['arr']);
file_put_contents('file_new.txt', $key . $_SESSION['arr'][$key], FILE_APPEND);
unset($_SESSION['arr'][$key]);
}