А как удалить элемент масива или заменить на другой в РНР?
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 14:18:54.833333
|
|
|
Bios_inside
Сообщений: 626
Оценки: 0
Присоединился: 2007-02-23 10:44:18.170000
|
допустим есть датафайл с такими данными user1|pass1|key1| user2|pass2|key2| user3|pass3|key3| … userN|passN|keyN| При помощи цыкла мы узнаём какой элемент или строка масива нам нужны, а дальше как: 1. Вопрос: как удалить всю строку user2|pass2|key2| и при этом записать в файл user1|pass1|key1| user3|pass3|key3| user4|pass4|key4| … userN|passN|keyN| 2. Вопрос: как удалить только pass2 и записать в файл user1|pass1|key1| user2||key2| user3|pass3|key3| … userN|passN|keyN| 3. Вопрос: как заменить pass2 на passAlfa и естественно записать в файл следующее: user1|pass1|key1| user2|passAlfa|key2| user3|pass3|key3| … userN|passN|keyN|
|
|
|
RE: А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 15:22:18.260000
|
|
|
AdReNaL1Ne
Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
|
1. 5 WMZ 2. 4 WMZ 3. 4 WMZ З.Ы. Деньги не такие уж и большие :)
|
|
|
RE: А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 16:11:35.226666
|
|
|
dx
Сообщений: 337
Оценки: 0
Присоединился: 2006-12-15 13:35:49.700000
|
1. 4 WMZ 2. 3 WMZ 3. 3 WMZ :D:D:D
|
|
|
RE: А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 19:15:01.896666
|
|
|
dx
Сообщений: 337
Оценки: 0
Присоединился: 2006-12-15 13:35:49.700000
|
В гугле ответа на такой простой вопрос не будет.:) И написал бы хоть, что именно тебе нужно. Дан массив с элементами вида userN|passN|keyN| ? Или в каком виде массив? И нужно в нём что-то поудалять и записать в файл?
|
|
|
RE: А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 19:28:07.830000
|
|
|
NightmareZz
Сообщений: 1087
Оценки: 0
Присоединился: 2006-10-15 11:16:16.833333
|
5 WMZ за три ответа
|
|
|
RE: А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 20:10:56.813333
|
|
|
Bios_inside
Сообщений: 626
Оценки: 0
Присоединился: 2007-02-23 10:44:18.170000
|
quote:
ORIGINAL: dx В гугле ответа на такой простой вопрос не будет.:) И написал бы хоть, что именно тебе нужно. Дан массив с элементами вида userN|passN|keyN| ? Или в каком виде массив? И нужно в нём что-то поудалять и записать в файл? Ты ваще в курсе что такое масив? я поставил символ "|", так как это самый разпространённый вариант записи масива в файл, а сам масив будет выглядеть так: user1 pass1 key1 user2 pass2 key2 user3 pass3 key3 … userN passN keyN Я ващето приблизительно догадываюсь как это должно быть: ищим к примеру элемент, который бы отвечал значению 888 $p=888; $lines=file(data.dat); $i=count($lines); $a=0; While ($a<$i) {$usd=explode("|", $lines[$a]); If ($p==$usd[2]) { //замена строки, где было обнаружено совпадение на пустую "" $usd=str_replase("usd[0]|usd[1]|usd[2]", "", $usd) // а теперь как это строку записать в файл на место предидущей?? Напрмер во второй ряд. } $a++;}
|
|
|
RE: А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 20:11:21.156666
|
|
|
Jasmin
Сообщений: 2320
Оценки: 0
Присоединился: 2007-05-03 23:08:53.390000
|
4 WMZ. И погремушку в нагрузку
|
|
|
RE: А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 20:25:50.730000
|
|
|
Bios_inside
Сообщений: 626
Оценки: 0
Присоединился: 2007-02-23 10:44:18.170000
|
quote:
ORIGINAL: Jasmin 4 WMZ. И погремушку в нагрузку а за сиську даш потрогать вместо погремушки, темболее, что там чувак за 3 WMZ предлагал ответ???
|
|
|
RE: А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 20:58:51.246666
|
|
|
NightmareZz
Сообщений: 1087
Оценки: 0
Присоединился: 2006-10-15 11:16:16.833333
|
quote:
ORIGINAL: Bios_inside quote:
ORIGINAL: Jasmin 4 WMZ. И погремушку в нагрузку а за сиську даш потрогать вместо погремушки, темболее, что там чувак за 3 WMZ предлагал ответ??? Тебе некого за сиську потрогать? Бедьняжка :D:D:D;)
|
|
|
RE: А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 21:04:27.230000
|
|
|
dx
Сообщений: 337
Оценки: 0
Присоединился: 2006-12-15 13:35:49.700000
|
quote:
Ты ваще в курсе что такое масив? Нет, а что это такое?:D Я написал свою cms и движок форума, и в 25000 строках кода ни разу не использовал такое:D:D:D
|
|
|
RE: А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 21:28:51.706666
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: Bios_inside // а теперь как это строку записать в файл на место предидущей?? Напрмер во второй ряд. надо записать все. в смысле все те которые надо. можно перед этим сказать trunc, или как там обнуление размера файла в php делается?
|
|
|
RE: А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 21:31:16.250000
|
|
|
dx
Сообщений: 337
Оценки: 0
Присоединился: 2006-12-15 13:35:49.700000
|
quote:
или как там обнуление размера файла в php делается? ftruncate(resource handle,int size); или можно так: fopen(string filename,'w+');
|
|
|
RE: А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 22:36:01.396666
|
|
|
AdReNaL1Ne
Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
|
Гы, нездоровая конкуренция нах… Вот до чего дошло - ушли в тему сисек… Ладно, чтобы воду тут не разводить, вот решение всех трёх задач: 1) <?php
if(isset($_GET['str'])) {
$str = $_GET['str'];
if ($str != "") {
$str--;
$file=file("text.txt");
for($i=0;$i<sizeof($file);$i++) {
if($i==$str) unset($file[$i]);
}
$fp=fopen("text.txt","w");
fputs($fp,implode("",$file));
fclose($fp);
}
}
?> При запросе типа имя_файла.php?str=n удаляется строка n в файле text.txt, (строки нумерются начиная с 1). 2) <?php
if(isset($_GET['str'])) {
$str = $_GET['str'];
$fp = fopen("text.txt", "r");
$buf = fread($fp, filesize("text.txt"));
fclose($fp);
$buf = ereg_replace($str,'',$buf);
$fp = fopen("text.txt", "w");
fwrite($fp, $buf);
fclose($fp);
}
?> В скрипт передаётся переменная $str - текст который нужно удалить. 3) <?php
if(isset($_GET['from'])&&isset($_GET['to'])) { $str = $_GET['from'];
$str2 = $_GET['to'];
$fp = fopen("text.txt", "r");
$buf = fread($fp, filesize("text.txt"));
fclose($fp);
$buf = ereg_replace($str,$str2,$buf);
$fp = fopen("text.txt", "w");
fwrite($fp, $buf);
fclose($fp);
}
?>
По аналогии предыдущего, параметр from - какой текст заменить, to - чем. Во-о-о-т, собственно :)
|
|
|
RE: А как удалить элемент масива или заменить на другой в РНР? - 2007-06-17 23:34:01.280000
|
|
|
Bios_inside
Сообщений: 626
Оценки: 0
Присоединился: 2007-02-23 10:44:18.170000
|
спасибо[sm=ay.gif][sm=ay.gif][sm=ay.gif]
|
|
|
|
|