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

Форум Регулярные Выражения

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

 

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

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

тема: Преобразовать строку в массив

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

 
 автор: duhon   (17.01.2014 в 12:54)   письмо автору
 
   для: ДаньЧег   (04.01.2009 в 19:20)
 

чисто философски попробовал сплитом
<?php $res preg_split('#([^/]+)/([^;]+);#''usr1/pass1;usr2/pass2;usr3root/xxx;', -1PREG_SPLIT_NO_EMPTY PREG_SPLIT_DELIM_CAPTURE);
print_r($res);
/*Array
(
    [0] => usr1
    [1] => pass1
    [2] => usr2
    [3] => pass2
    [4] => usr3root
    [5] => xxx
)*/

  Ответить  
 
 автор: azEsm   (17.01.2014 в 10:01)   письмо автору
 
   для: Николай2357   (04.01.2009 в 18:16)
 

А можно как-нибудь получить из этой строки массив

"user"="1234"
"user1"="4321"
"user"="3421"

  Ответить  
 
 автор: ДаньЧег   (05.01.2009 в 07:53)   письмо автору
 
   для: Николай2357   (04.01.2009 в 22:01)
 

В действительности только твой вариант и работает! Чтоб сделать мне своим способом нужно знать функцию переноса строки...

  Ответить  
 
 автор: Николай2357   (04.01.2009 в 22:01)   письмо автору
 
   для: ДаньЧег   (04.01.2009 в 21:56)
 

Это из спортивного интереса или что то не подходит из моего варианта?

  Ответить  
 
 автор: ДаньЧег   (04.01.2009 в 21:56)   письмо автору
 
   для: ДаньЧег   (04.01.2009 в 19:20)
 

Почемуто сплит после разделителя кушает все остальную строку!И из за этого на выходе только логин!Но не пасс....

  Ответить  
 
 автор: ДаньЧег   (04.01.2009 в 19:20)   письмо автору
 
   для: Николай2357   (04.01.2009 в 18:16)
 

У меня не получилось СПЛИТОМ сделать нечто подобное preg_match_all(), ведь при использовании этого самого сплита нужно посчитать на скока частей делить....таким макаром, что когда функция for находит / выполняет условие: добовляет к определенной переменной одну единицу, и отделяет первые символы до введенного кхе! символа. Дальше это все повторяется, пока for находит введенный символ.....но чето тут не так.....

  Ответить  
 
 автор: ДаньЧег   (04.01.2009 в 19:04)   письмо автору
 
   для: Николай2357   (04.01.2009 в 18:16)
 

Кстати тоже нилохо!
Я нимного изменил код
<?php  
$a 
"user/1234;user1/4321;user2/3421"
preg_match_all("#;*([^/]+)/([^;]+)#s",$a,$out); 
echo 
"Users:<br>";
foreach(
$out[1] as $out1){
    echo 
"$out1  ";
}
echo 
"<br><br>";
echo 
"PASS:<br>";
foreach(
$out[2] as $out1){
    echo 
"$out1   ";
}
?>

Вот что получил на выходе:
Users:
user; user1; user2;

PASS:
1234; 4321; 3421;



ЗЫ: не юзал preg_match_all тк не особо понимаю принцип использования.Документацию читал! Мне не помогло!

  Ответить  
 
 автор: Николай2357   (04.01.2009 в 18:16)   письмо автору
 
   для: ДаньЧег   (04.01.2009 в 17:34)
 

А чем Вам preg_match_all() не угодила?
<?php 
$a 
"user/1234;user1/4321;user2/3421";
preg_match_all("#;*([^/]+)/([^;]+)#s",$a,$out);
print_r($out[1]);
print_r($out[2]);

  Ответить  
 
 автор: ДаньЧег   (04.01.2009 в 17:34)   письмо автору
 
   для: Trianon   (04.01.2009 в 17:23)
 

А точн!
Я совсем забыл что нада по всему тексту сначала пройтись!
Перед сплитом нада добавить for($i=0;$i<=count($содеожашая текст)-1;$i++) и к разбиваемой переменной в настр эксплода нада добавить ['i']!))

  Ответить  
 
 автор: Trianon   (04.01.2009 в 17:23)   письмо автору
 
   для: ДаньЧег   (04.01.2009 в 17:08)
 

Это я сморозил.
Вероятно, Вы перепутали параметры, и split() вернула false. false - всяко не массив.
Вообще, стоит учитывать, что split() разбивает строку по шаблону регулярного выражения, а не просто так.

  Ответить  

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

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

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