ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Нужна помощь с foreach
  #1  
Старый 17.05.2010, 16:43
Аватар для Foster
Foster
Познающий
Регистрация: 14.07.2005
Сообщений: 62
Провел на форуме:
348453

Репутация: 6
Отправить сообщение для Foster с помощью ICQ
По умолчанию Нужна помощь с foreach

Есть скрипт
PHP код:
<pre>
<?

$mass
='16.05.2010 15:26:03 Продал ( ) за 49 для xxx [775549] ( ) yyy [39298006] (50 р) [7/7] 
16.05.2010 15:26:30 Продал ( ) за 49 для xxx [1930955] ( ) yyy [39298004] (50 р) [7/7] 
16.05.2010 15:28:02 Продал ( ) за 49 для xxx [1745777] ( ) yyy [39298007] (50 р) [7/7] 
16.05.2010 16:34:15 Купил ( ) за 400 у xxx [715248] ( ) yyy [39301025] (50 р) [7/7]'
;

$strArr=explode("\r\n",$mass);


foreach (
$strArr as $key => $value) {

$elem=explode(" ",$strArr[$key]);
$uid=preg_replace('/[]|[]/',''$elem[9]);


$ar[$key]=$uid    ;
asort($ar);
print_r ($ar);


}

?>
</pre>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

 
<link href="e.css" rel="stylesheet" type="text/css">
</head>
 
<body bgcolor="C9DFF5">
<p>Вставьте содержимое</p>
<form action=index.php?a=in method=post>
<textarea class= style="width: 99%;" name="parser" cols="40" rows="5"></textarea>
<br><input type=submit class=input_b value=Анализ></form>
Проблема в том что никак не могу вывести в один масив все четыре элемента, вместо этого получаются 4 масива с нарастающим от 1 до 4 элементов в них.

Заранее очень благодарю!
 
Ответить с цитированием

  #2  
Старый 17.05.2010, 16:58
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

print_r ($ar); - вынеси за пределы цикла, просто код так оформлен, что тебе самому трудно увидеть, где конец цикла

PHP код:
}
print_r ($ar); 
 
Ответить с цитированием

  #3  
Старый 17.05.2010, 17:01
Аватар для Foster
Foster
Познающий
Регистрация: 14.07.2005
Сообщений: 62
Провел на форуме:
348453

Репутация: 6
Отправить сообщение для Foster с помощью ICQ
По умолчанию

Спасибо огромнейшее, весь день промучался, прошуршал поисковики и книги) а тут такая бональщина) зла не хватает
 
Ответить с цитированием

  #4  
Старый 17.05.2010, 17:32
Аватар для Foster
Foster
Познающий
Регистрация: 14.07.2005
Сообщений: 62
Провел на форуме:
348453

Репутация: 6
Отправить сообщение для Foster с помощью ICQ
По умолчанию

Ещё вопрос. При выполнении сценария получаю:

Array
(
[3] => 715248
[0] => 775549
[2] => 1745777
[1] => 1930955
)
как извлечить значений ключей?
 
Ответить с цитированием

  #5  
Старый 17.05.2010, 17:36
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от Foster  
Ещё вопрос. При выполнении сценария получаю:

Array
(
[3] => 715248
[0] => 775549
[2] => 1745777
[1] => 1930955
)
как извлечить значений ключей?
Что? Излечить? Извлечь?
 
Ответить с цитированием

  #6  
Старый 17.05.2010, 17:39
Аватар для Foster
Foster
Познающий
Регистрация: 14.07.2005
Сообщений: 62
Провел на форуме:
348453

Репутация: 6
Отправить сообщение для Foster с помощью ICQ
По умолчанию

извлеч 3,0,2,1 в таком порядке каком они идут. Это нужно для того что бы затем отсортировать и вывести на экран $mass в порядке убывания или возрастания значения в первых встречающихся квадратных скобочках []
 
Ответить с цитированием

  #7  
Старый 17.05.2010, 17:40
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

PHP код:
<pre>
<?
$mass
='16.05.2010 15:26:03 Продал ( ) за 49 для xxx [775549] ( ) yyy [39298006] (50 р) [7/7] 
16.05.2010 15:26:30 Продал ( ) за 49 для xxx [1930955] ( ) yyy [39298004] (50 р) [7/7] 
16.05.2010 15:28:02 Продал ( ) за 49 для xxx [1745777] ( ) yyy [39298007] (50 р) [7/7] 
16.05.2010 16:34:15 Купил ( ) за 400 у xxx [715248] ( ) yyy [39301025] (50 р) [7/7]'
;
$strArr=explode("\r\n",$mass);
foreach (
$strArr as $key => $value) {
   
$elem=explode(" ",$strArr[$key]);
   
$uid=preg_replace('/[]|[]/',''$elem[9]);
   
$ar[$key]=$uid    ;
}
asort($ar);
foreach (
$ar as $key => $value)
  echo 
"Key: $key Value: $value\n";
?>
</pre>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="e.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="C9DFF5">
<p>Вставьте содержимое</p>
<form action=index.php?a=in method=post>
<textarea class= style="width: 99%;" name="parser" cols="40" rows="5"></textarea>
<br><input type=submit class=input_b value=Анализ></form>
 
Ответить с цитированием

  #8  
Старый 17.05.2010, 17:43
Аватар для Foster
Foster
Познающий
Регистрация: 14.07.2005
Сообщений: 62
Провел на форуме:
348453

Репутация: 6
Отправить сообщение для Foster с помощью ICQ
По умолчанию

Иными словами отсортировать элементы массива $strArr по возрастанию\убыванию цифр которые находятся в первых квадратных скобках каждой строки в переменной $mass
 
Ответить с цитированием

  #9  
Старый 17.05.2010, 17:49
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

sort($ar) - по возврастанию
rsort($ar); - по убыванию
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь написать .bat ZEXEL Администрирование 7 15.09.2009 14:39
Господа гуру PHP программирования нужна ваша помощь mss-s PHP, PERL, MySQL, JavaScript 28 31.03.2009 16:25
Нужна ваще помощь XP jks Windows 12 22.01.2009 00:33



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ