Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не могу убрать пробел

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
legend717
Отправлено: 11 Октября, 2011 - 14:13:53
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Прописал на странице:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php  if ($element['filters']) { ?>
  2. <?php $znak = 0; ?>
  3.  <?php foreach($element['filters'] as $filter){ ?>
  4.    <?php if ( $znak % 3 ) { $zapyatay = ', '; } else { $zapyatya = ' '; } ?>
  5.         <?php $znak++ ?>
  6.     <?php echo $zapyatya ?><?php echo $filter['name'] . ': ' . $filter['value']; ?>
  7.      <?php } ?>
  8.      <?php } ?>


Выводится так:

Цитата:
Имя: Значение , Имя: Значение , Имя: Значение


Тут не получается убрать пробел перед запятой. Прошу помощи.

(Отредактировано автором: 11 Октября, 2011 - 14:14:20)

 
 Top
OrmaJever
Отправлено: 11 Октября, 2011 - 14:19:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Не понял А зачем каждый раз закрывать тег php чтобы на след. строке его открыть?
Может имено из-за этого и появляется пробел


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
legend717
Отправлено: 11 Октября, 2011 - 14:45:17
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




OrmaJever пишет:
Может имено из-за этого и появляется пробел

Не из-за этого...
 
 Top
SAD Модератор
Отправлено: 11 Октября, 2011 - 14:48:11
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




legend717, вы извращенец, которых свет не видывал
 
 Top
OrmaJever
Отправлено: 11 Октября, 2011 - 14:51:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




legend717 пишет:
Не из-за этого...

так тоже есть пробел?
PHP:
скопировать код в буфер обмена
  1. <?PHP  
  2. if ($element['filters']) {
  3.    $znak = 0;
  4.    foreach($element['filters'] as $filter) {
  5.      $zapyatay = ( $znak % 3 ) ? ', ' : ' ';
  6.      ++$znak;
  7.      echo $zapyatya, $filter['name'] , ': ', $filter['value'];
  8.    }
  9. }
  10. ?>


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
legend717
Отправлено: 11 Октября, 2011 - 15:28:47
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Так пишет ошибку:
Цитата:
Notice: Undefined variable: zapyatya
 
 Top
OrmaJever
Отправлено: 11 Октября, 2011 - 15:30:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




аа, ну вот значит где ошибка, не нужно делать такие тупые названия переменых
legend717 пишет:
<?php if ( $znak % 3 ) { $zapyatay = ', '; } else { $zapyatya = ' '; } ?>

(Отредактировано автором: 11 Октября, 2011 - 15:30:58)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
legend717
Отправлено: 11 Октября, 2011 - 15:45:42
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




OrmaJever пишет:
аа, ну вот значит где ошибка, не нужно делать такие тупые названия переменых
legend717 пишет:
<?php if ( $znak % 3 ) { $zapyatay = ', '; } else { $zapyatya = ' '; } ?>

А чем эт отличается от того что я сразу написал? - нечем. Получается тоже самое.
 
 Top
SAD Модератор
Отправлено: 11 Октября, 2011 - 16:05:07
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




опишите подробно задачу
 
 Top
legend717
Отправлено: 11 Октября, 2011 - 16:25:26
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




SAD пишет:
опишите подробно задачу

Опишу, как умею (в php я зелёный).

Имеется:
CODE (htmlphp):
скопировать код в буфер обмена
  1. if ($products['fields']) {
  2.  foreach ($products['fields'] as $field) {
  3.     echo $field['name'] . ': ' . $field['value'];
  4.   }
  5. }
  6. }


Соотвествено, это выводится name: value name: value name: value
Мне нужно, что после value (кроме последнего) была запятая.

(Отредактировано автором: 11 Октября, 2011 - 16:26:13)

 
 Top
legend717
Отправлено: 12 Октября, 2011 - 17:14:53
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Странно, что никто этого здесь не знает.
Тогда поставлю точку на конце, что делать...
 
 Top
Craken
Отправлено: 12 Октября, 2011 - 17:25:02
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. if (is_array($products['fields']))
  2.     {
  3.            $count = count($products['fields']);  
  4.            
  5.             for ($i = 0; $i < $count; $i++)
  6.             {
  7.                       echo $products['fields']['name'] . ': ' . $products['fields']['value'];
  8.                       if ($i != $count-1)
  9.                           echo ",";
  10.              }  
  11.  }

(Отредактировано автором: 12 Октября, 2011 - 17:26:01)

 
 Top
illy
Отправлено: 12 Октября, 2011 - 19:02:53
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. if($products['fields']){
  3. $s='';
  4. foreach($products['fields'] as $field){
  5. $s.=$field['name'].': '.$field['value'].', ';
  6. }}
  7. $s=rtrim($s,', ');
  8. echo $s.'.';
  9.  

(Отредактировано автором: 12 Октября, 2011 - 19:06:24)



-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
armancho7777777 Супермодератор
Отправлено: 12 Октября, 2011 - 19:03:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $str = '';
  4. if ($products['fields']) {
  5.  foreach ($products['fields'] as $field) {
  6.     $str .= $field['name'] . ': ' . $field['value'].', ';
  7.   }
  8. }
  9.  
  10. echo rtrim($str,', ');
  11.  
  12.  

(Отредактировано автором: 12 Октября, 2011 - 19:09:31)

 
 Top
illy
Отправлено: 12 Октября, 2011 - 19:05:31
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




Так в конце нужна точка или нет? Не понял


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB