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

Форум PHP

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

 

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

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

тема: Как список переделать в Массив без вывода в броузер?

Сообщения:  [1-10]    [11-20]  [21-25] 

 
 автор: Trianon   (31.07.2009 в 02:14)   письмо автору
 
   для: Николай2357   (31.07.2009 в 01:52)
 

выполните двоичный вывод содержимого массива, полученного с этой опцией и без.
Дальше можно будет что-то обсуждать.

  Ответить  
 
 автор: Trianon   (31.07.2009 в 02:12)   письмо автору
 
   для: Petter   (31.07.2009 в 01:16)
 

>Увы, даже протестировать не получилось, так как эта функция array_diff_key() из PHP5!

Здрааасте, приехали.
А мы здесь чем дышим?

  Ответить  
 
 автор: sim5   (31.07.2009 в 02:06)   письмо автору
 
   для: Николай2357   (31.07.2009 в 01:52)
 

Возможно она не обрабатывает windows переходы, а unix нормально будет. На Денвере она у меня никогда и не работала. Но строка может содержать лишние пробелы, что может тоже быть причиной нежелательных явлений. Я поэтому считаю, что опция эта для понту, всего не учитывает.)

  Ответить  
 
 автор: Николай2357   (31.07.2009 в 01:52)   письмо автору
 
   для: Trianon   (31.07.2009 в 01:36)
 

Ну вот из моих экспериментов
<?php
$a 
file("1.txt",FILE_IGNORE_NEW_LINES); //red green yellow
//a = array_map('rtrim',$a);
$b file("2.txt",FILE_IGNORE_NEW_LINES); // red
//$b = array_map('rtrim',$b);
$c array_diff($a$b);
print_r($c); //выводит red green yellow


А в мануале написано
Each line in the resulting array will include the line ending, unless 
FILE_IGNORE_NEW_LINES is used, so you still need to use rtrim() if you do not want the line 
ending present.
То есть если не ставить опцию, то нужно rtrim()... Правда это не значит, что если поставить, то не нужно... Но странно все таки.

  Ответить  
 
 автор: Petter   (31.07.2009 в 01:47)   письмо автору
 
   для: sim5   (31.07.2009 в 01:36)
 

Спасибо, sim5!
эти строки - результат извлечения из $_REQUEST['']
Да, согласен, в них могут быть лишние пробелы...
И в конце строки тоже символы...
Это очень интересное решение: array_map('trim', ...)
Большое Вам спасибо, как, собственно говоря, и всем остальным, кто проявил сочувствие к вопросу...

  Ответить  
 
 автор: sim5   (31.07.2009 в 01:38)   письмо автору
 
   для: Николай2357   (31.07.2009 в 01:20)
 

У меня тоже не работает установка этого флага, я для верности всегда trim использую.)

  Ответить  
 
 автор: sim5   (31.07.2009 в 01:36)   письмо автору
 
   для: Petter   (31.07.2009 в 01:16)
 

Странного ничего нет, так как строки ваши имеют символы окончания строки, могут содержать и пробелы случайные. Я же вам не зря сказал "если посмотреть....", и если посмотрели бы, то увидели бы после переворачивания массива вот такое
[red
] => 0

Плохо, что не РНР5, пора перходить, многое теряете.

  Ответить  
 
 автор: Trianon   (31.07.2009 в 01:36)   письмо автору
 
   для: Николай2357   (31.07.2009 в 01:20)
 

А можно чуть подробнее?

  Ответить  
 
 автор: Николай2357   (31.07.2009 в 01:20)   письмо автору
 
   для: Trianon   (30.07.2009 в 23:29)
 

Или как вариант, соответствующая опция функции file()
А можно чуть подробнее, FILE_IGNORE_NEW_LINES почему то не отработала...

  Ответить  
 
 автор: Petter   (31.07.2009 в 01:16)   письмо автору
 
   для: sim5   (31.07.2009 в 01:01)
 

Спасибо, я попробую разобраться в этом листинге.
Увы, даже протестировать не получилось, так как эта функция array_diff_key() из PHP5!

Как это ни странно, работает вот такой код!

$a = file("colors/top_color1.txt"); //green red yellow  
$b = file("colors/top_color2.txt"); // red  
$a = array_map('trim', $a); 
$b = array_map('trim', $b); 
$c = array_diff($a, $b); 
echo "<pre>"; 
print_r($a); 
print_r($b); 
print_r($c); 
echo "</pre>";

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-25] 

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

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