Форум → Программирование → PHP для идиотов → Удалить одно ключ-значение из массива
Удалить одно ключ-значение из массива
-
Ночки доброй…
Есть у меня один файл с сообщениями, где каждая строка это сообщение
потом когда делаем file(msg.dat)
получаем массив допустим из 20 элементов,а заморочка заключаеться в том чтобы удалить определенную строчку из этого файла…….после размышлений пришел к такой схеме:
сначала ищем сообщение в файле и определяем на какой строчке оно находиться
затем в один массив запихиваем все сообщения,расположенные до этой строчки а во второй массив все сообщения находящиеся после этой строчки, и записываем в файл…!
Как то очень громоздко все это будет,может есть какие нибудь более простые и лаконичные способы, буду весьма благодарен если просветите -
8 ноября 2009 г. 2:50, спустя 8 минут 26 секунд
malaba, берешь все из файла через file(), удаляешь из массива строку которую тебе надо, записываешь весь массив полностью в файл (перезаписав предыдущие данные)https://smappi.org/ - платформа по созданию API на все случаи жизни -
8 ноября 2009 г. 2:57, спустя 7 минут 48 секунд
а как удалить строчку которую надо если она находиться в середине массива, я не нашел такую функцию, только удалить первый или последний элемент -
8 ноября 2009 г. 3:02, спустя 4 минуты 52 секунды
[man]unset[/man]
а как удалить строчку которую надо если она находиться в середине массива, я не нашел такую функцию, только удалить первый или последний элементhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
8 ноября 2009 г. 3:10, спустя 7 минут 51 секунду
получаеться так
$array = file(msg.dat);
$str = "bla-bla";
$find = array_search($str,$array);
unset($array[$find]);
а далее записываем получееныйы массив в файл…!?!?!?!?! -
8 ноября 2009 г. 3:16, спустя 5 минут 56 секунд
даhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
-
8 ноября 2009 г. 8:26, спустя 5 часов 6 минут 52 секунды
$array = file(msg.dat);
$str = "bla-bla";
$find = array_search($str,$array);
unset($array[$find]);
file_put_contents('msg.dat', implode('', $array));
Пожалуйста, авторизуйтесь, чтобы написать комментарий!