Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Удаление строк из Файла по массиву

Сообщения:  [1-10]   [11-12] 

 
 автор: valenok   (24.06.2006 в 09:40)   письмо автору
 
   для: FaDer   (23.06.2006 в 22:42)
 

Конструкция с использованием $stroka--; вам и мешает.

   
 
 автор: FaDer   (23.06.2006 в 22:42)
 
   для: FaDer   (23.06.2006 в 18:41)
 

Короче народ, всё элементарно:
НАДО УДАЛЯТЬ С КОНЦА!!!

   
 
 автор: FaDer   (23.06.2006 в 18:41)
 
   для: FaDer   (23.06.2006 в 15:30)
 

,

   
 
 автор: FaDer   (23.06.2006 в 15:30)
 
   для: FaDer   (23.06.2006 в 14:55)
 

Я вот тут подумал, но чёто всёравно не пашет.
Массив передаётся по порядку(т.е. сначало в одном файле строки, а потом в другом), мы можем присвоить переменныую к файу, и потом сравнивать её с файлом, если они одинаковы, то из номера мы вычитаем еденицу.

<?php 
$vars 
$_POST['del']; 
foreach(
$vars as $str){ 
list(
$file$stroka)= explode("|"$str); 
if (
$file_tmp $file) {$stroka--;} //Проверяем
... Тут удаление или ещё что... 
$file_tmp $file// присваиваем

?>

Но вот почемуто не работает.

   
 
 автор: FaDer   (23.06.2006 в 14:55)
 
   для: valenok   (23.06.2006 в 14:05)
 

Спасибо большое.
Но вот другая проблема:
Скрипту передаются номера строк(через $_POST['del']), и Когда мы удаляем в цикле foreach строку, то нижние строки смещаются вверх, и когда доходит время до удаление другой стоки, то на месте её оказывается другая(не та которая нам нужна).
Можно вместо удалёной строки оставлять переход( \n), а не подымать вверх, но тогда будут сбои при работе скрипта чтения, так как 1 сообщение = 1 строка. Можно оставить переходы, а потом прочитать и вырезать их, но осложняет это, то что сообщения в разных файлах.
Так что делать???

   
 
 автор: valenok   (23.06.2006 в 14:05)   письмо автору
 
   для: FaDer   (23.06.2006 в 13:31)
 

Насколько я помню, вам нужно чтото такое:


<?php
$vars 
$_POST['del']; 
# $vars[0] -> "a1|b1" , $vars[1] -> "a2|b2" ..... // До сюда правильно я понимаю?
foreach($vars AS $str){
list(
$string,$file)= explode("|"$str);
... 
Тут удаление или ещё что...

?>

   
 
 автор: valenok   (23.06.2006 в 14:02)   письмо автору
 
   для: FaDer   (23.06.2006 в 13:31)
 


$vars = $_POST['del']; 
$vars = explode("|", $vars); //$vars[0] = Имя файла $vars[1] = номер строки


Это всё вовсе не правильно..

   
 
 автор: valenok   (23.06.2006 в 14:00)   письмо автору
 
   для: FaDer   (23.06.2006 в 13:31)
 

$vars[1] кажется вовсе не массив

   
 
 автор: FaDer   (23.06.2006 в 13:31)
 
   для: cheops   (23.06.2006 в 11:59)
 

Приходят 2 значения, разделённые "|" (Здесь обсуждал http://softtime.ru/forum/read.php?id_forum=4&id_theme=19652&page=1)
Ну так вот foreach не хочет работать, пишет:
Invalid argument supplied for foreach()
<?php
$vars = $_POST['del'];
$vars = explode("|", $vars); //$vars[0] = Имя файла $vars[1] = номер строки
foreach($vars[1] as $a)
{
echo $a;
}
?>

   
 
 автор: cheops   (23.06.2006 в 11:59)   письмо автору
 
   для: FaDer   (22.06.2006 в 23:47)
 

Циклы поменяйте местами for - сделайте внешним, а foreach - внутренним.

   

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования