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

Форум PHP

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

 

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

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

тема: Как сформировать ассоциативный массив?

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

 
 автор: Sirius1981   (27.11.2008 в 21:21)   письмо автору
 
   для: sim5   (27.11.2008 в 16:56)
 

rebjata spasibo wsem wam sa pomosch.

  Ответить  
 
 автор: sim5   (27.11.2008 в 16:56)   письмо автору
 
   для: MIchail1982   (27.11.2008 в 16:51)
 

Эта "хреновина" вырезает то, что я укажу ей, и только в конце строки.

[поправлено модератором]

  Ответить  
 
 автор: MIchail1982   (27.11.2008 в 16:51)   письмо автору
 
   для: sim5   (27.11.2008 в 16:21)
 

не факт, rtrim тут не сработал бы, т.к он работает ДО explode. и если бы пробелы были внутри(а так и было) то 1й элемент начинался бы с пробела

  Ответить  
 
 автор: sim5   (27.11.2008 в 16:21)   письмо автору
 
   для: MIchail1982   (27.11.2008 в 15:54)
 

Вместо этого достаточно сделать rtrim(string, ";").

  Ответить  
 
 автор: MIchail1982   (27.11.2008 в 15:54)   письмо автору
 
   для: Sirius1981   (27.11.2008 в 15:27)
 

и будет вам счастье....
ЗЫ добавлялся лишний, потомучто в конце стоял ";"

<?php
foreach($a as $a_key=>$a_val){
    
$a[$a_key][po_nummer] = explode(';',str_replace' ','',substr($a_val[po_nummer],0,strlen($a_val[po_nummer])-1)));
}
?>

  Ответить  
 
 автор: sim5   (27.11.2008 в 15:53)   письмо автору
 
   для: Sirius1981   (27.11.2008 в 15:27)
 

Если ваша строка содержит, например - "1;2", то explode(";" $s) вернет вам массив с двумя элементами, первый равный 1, а второй 2. Если ваша строка содердит "1;", то explode(";" $s) вернет вам массив с двумя элементами, первый равный 1, а второй пустой. Другого объяснения нет.

  Ответить  
 
 автор: Sirius1981   (27.11.2008 в 15:27)   письмо автору
 
   для: sim5   (27.11.2008 в 15:10)
 

Да строку я же разделяю ' ; ' и в $val = explode(";", $val); я говорю же после ' ; ' должно быт разделение ; ?


Функция explode делит строку но блин почему она ещё в конце добовляет ешё одну строку


[0] => Array
(
[pack_id] => 91106925
[po_nummer] => 7108/1294;
[nummerierung_packstueck] => 1
)

resultat:

[0] => Array
(
[pack_id] => 91106925
[po_nummer] => Array
(
[0] => 7108/1294
[1] =>
)

[nummerierung_packstueck] => 1
)

  Ответить  
 
 автор: sim5   (27.11.2008 в 15:10)   письмо автору
 
   для: MIchail1982   (27.11.2008 в 15:01)
 

Не знаю. Делайте что хотите, у вас куча всевозможного в исходной строке. Либо строки приводите к одному, либо рег. выражения, либо то чего вы показываете, чего мне не понять, ибо вам виднее, что, от куда, чего, и куда...

  Ответить  
 
 автор: Sirius1981   (27.11.2008 в 15:04)   письмо автору
 
   для: sim5   (27.11.2008 в 14:38)
 

Ja sche array rasdelaju snakom ';'


i w foreach ja goworju:

foreach ($merge[$i] as $key => $val) {
if ($key == 'po_nummer' && !is_array($key)) {
$val = explode(";", $val);
$merge[$i][$key] = $val;
}
}


Sdes ja kak rasdelitelnii snako daju ' ; ' $val = explode(";", $val);

  Ответить  
 
 автор: MIchail1982   (27.11.2008 в 15:01)   письмо автору
 
   для: Sirius1981   (27.11.2008 в 14:08)
 

а если так?

<?php
// $a - исходный массив
// $b - массив с результатом
foreach($a as $a_key=>$a_val){
    
$b[$a_key][pack_id] = $a_val[pack_id];
    
$b[$a_key][nummerierung_packstueck] = $a_val[nummerierung_packstueck];
    
$b[$a_key][po_nummer] = explode(' ',$a_val[po_nummer]);
}
?>

  Ответить  

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

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

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