Как удалить строку внутри массива который лежит в константе?

Делаю удаление всех строчек из массива, если найдено совпадение с моим условием. Если я пытаюсь удалить строчку из массива через функцию unset() и использую обычные переменные, то всё работает отлично, если использую константы то пишет ошибки. Как выяснил ошибку пишет потому что функции которые я использую для работы с массивом поддерживают только переменные, если пытаюсь использовать константу то пишет ошибку.

define("MASIV", file('MASIV.txt');

foreach (MASIV as $key => $value) {
if (MASIV[$key] == 'СОВПАДЕНИЕ') {
  unset(MASIV[$key]);
  file_put_contents('MASIV.txt', implode(PHP_EOL, MASIV));
  }
}

Вопроса два: Можно ли удалить значение из массива, если массив находится внутри константы? Функция unset только для переменных, возможно есть аналог этой функции, чтобы удалить строчку из массива, функция array_splice тоже пишет ошибку "только переменные могут быть переданы". Или возможно я вообще не правильным способом удаляю строчку из массива?

И подскажите пожалуйста, правильно ли я делаю, что помещаю массивы внутрь константы? Просто есть некая "база данных" в .txt файле, вот чтобы каждый раз не передавать её в функции через переменные, думаю возможно можно её засунуть в константу. Но пока не понимаю, возможно в будущем если захочу ещё как либо взаимодействовать с этим файликом "БД", то всплывут новые проблемы из за использования константы, и всё таки лучше использовать обычные переменные?

Большое спасибо за ответ ♥️.


Ответы (1 шт):

Автор решения: Влад

Решение:

$tmp = MASIV;
unset($tmp[$key]);
file_put_contents('MASIV.txt', implode(PHP_EOL, $tmp));
→ Ссылка