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
Форумы портала PHP.SU :: Версия для печати :: Php, убрать запятую
Форумы портала PHP.SU » » Вопросы новичков » Php, убрать запятую

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

1. seoshnik - 12 Февраля, 2015 - 16:38:40 - перейти к сообщению
Привет, помогите решить проблему


На выходе так:
keywords 1,keywords 2,keywords 3,keywords 4,

как убрать последнюю запятую?
2. skiphog - 12 Февраля, 2015 - 16:42:34 - перейти к сообщению
На вскидку... два примера
PHP:
скопировать код в буфер обмена
  1. //1
  2. echo rtrim("$test,",',');
  3.  
  4. //2
  5. echo substr("$test,",0,-1);
3. Sail - 12 Февраля, 2015 - 16:44:35 - перейти к сообщению
seoshnik, вот Вам другой простой пример:
PHP:
скопировать код в буфер обмена
  1. for($i = 0, $str = ''; $i < 5; $i++) {
  2.     $str .= $i.', ';
  3. }
  4. echo trim($str, ', ');
4. seoshnik - 12 Февраля, 2015 - 16:45:28 - перейти к сообщению
skiphog пишет:
На вскидку... два примера
PHP:
скопировать код в буфер обмена
  1. //1
  2. echo rtrim("$test,",',');
  3.  
  4. //2
  5. echo substr("$test,",0,-1);

Что-то ни один код не хочет работать Не понял
(Добавление)
Sail пишет:
seoshnik, вот Вам другой простой пример:
PHP:
скопировать код в буфер обмена
  1. for($i = 0, $str = ''; $i < 5; $i++) {
  2.     $str .= $i.', ';
  3. }
  4. echo trim($str, ', ');

А как-то на моем примере можно это сделать?)
5. Sail - 12 Февраля, 2015 - 16:57:55 - перейти к сообщению
seoshnik пишет:
А как-то на моем примере можно это сделать?)

Вероятно,
выполняется в каком-то цикле? Улыбка
Если так, то перед циклом определяете какую-нить переменную.
В цикле - дополняете её значением $test.', '.
И после цикла - применяете соответствующую функцию.
Как-то так.
6. seoshnik - 12 Февраля, 2015 - 17:27:58 - перейти к сообщению
сделал так:

PHP:
скопировать код в буфер обмена
  1. $zzzz = $zzzz."$test, ";
  2. $zzzz = str_replace($test.", ".$test, $test, $zzzz);
  3. echo trim($zzzz, ', ');


выходит так:
keywords 1keywords 1,keywords 2keywords 2,keywords 3keywords 3,keywords 4keywords 4

Что я в скрипте лишнего сделал? Не понял
7. armancho7777777 - 12 Февраля, 2015 - 17:46:37 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. echo join(', ', array('str-1', 'str-2', 'str-3', 'str-4', 'str-5'));
8. seoshnik - 12 Февраля, 2015 - 19:19:32 - перейти к сообщению
armancho7777777 пишет:
PHP:
скопировать код в буфер обмена
  1. echo join(', ', array('str-1', 'str-2', 'str-3', 'str-4', 'str-5'));

можно как-то на моем примере?
9. DelphinPRO - 12 Февраля, 2015 - 19:39:32 - перейти к сообщению
seoshnik пишет:
можно как-то на моем примере?

Вы сначала свой цикл полностью покажите, а не отдельные строки.
10. seoshnik - 12 Февраля, 2015 - 19:51:03 - перейти к сообщению
DelphinPRO пишет:
seoshnik пишет:
можно как-то на моем примере?

Вы сначала свой цикл полностью покажите, а не отдельные строки.

вот большая часть кода

PHP:
скопировать код в буфер обмена
  1. $i= 0;
  2. $out = array();
  3.  
  4. foreach ($data as $key => $val) {
  5.     $tmp = trim($val);
  6.     if (!empty($tmp)) { $out[$i] = str_replace(' ', '-', $tmp); $i++; }
  7. }
  8.  
  9. if ($step > count($out)) {
  10.     foreach ($out as $key => $val) {
  11.         echo $val, '<br />';
  12.     } die();
  13. }
  14.  
  15. if ($seek[0] >= count($out)) $seek[0] = 0;
  16. for ($k=0; $k<$step; $k++) {
  17.     $test = $out[$seek[0]];
  18.     $test = str_replace('-', ' ', $test);
  19. echo"$test,";
  20.     $seek[0]++; if ($seek[0] == count($out)) $seek[0] = 0;
  21. }


Вот это надо изменить
echo"$test,";
На выходе так
keywords 1,keywords 2,keywords 3,keywords 4,
как убрать последнюю запятую?
11. exlant - 12 Февраля, 2015 - 20:06:24 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $i= 0;
  2. $out = array();
  3.  
  4. foreach ($data as $key => $val) {
  5.     $tmp = trim($val);
  6.     if (!empty($tmp)) { $out[$i] = str_replace(' ', '-', $tmp); $i++; }
  7. }
  8.  
  9. if ($step > count($out)) {
  10.     foreach ($out as $key => $val) {
  11.         echo $val, '<br />';
  12.     } die();
  13. }
  14.  
  15. if ($seek[0] >= count($out)) $seek[0] = 0;
  16. for ($k=0; $k<$step; $k++) {
  17.     if($k == $step-1)
  18.           $coma = '';
  19.     else
  20.           $coma = ', ';
  21.     $test = $out[$seek[0]];
  22.     $test = str_replace('-', ' ', $test);
  23. echo $test.$coma;
  24.     $seek[0]++; if ($seek[0] == count($out)) $seek[0] = 0;
  25. }
12. seoshnik - 12 Февраля, 2015 - 20:26:14 - перейти к сообщению
exlant пишет:
PHP:
скопировать код в буфер обмена
  1. $i= 0;
  2. $out = array();
  3.  
  4. foreach ($data as $key => $val) {
  5.     $tmp = trim($val);
  6.     if (!empty($tmp)) { $out[$i] = str_replace(' ', '-', $tmp); $i++; }
  7. }
  8.  
  9. if ($step > count($out)) {
  10.     foreach ($out as $key => $val) {
  11.         echo $val, '<br />';
  12.     } die();
  13. }
  14.  
  15. if ($seek[0] >= count($out)) $seek[0] = 0;
  16. for ($k=0; $k<$step; $k++) {
  17.     if($k == $step-1)
  18.           $coma = '';
  19.     else
  20.           $coma = ', ';
  21.     $test = $out[$seek[0]];
  22.     $test = str_replace('-', ' ', $test);
  23. echo $test.$coma;
  24.     $seek[0]++; if ($seek[0] == count($out)) $seek[0] = 0;
  25. }


БОЛЬШОЕ СПАСИБО!!!
Вопрос решен Подмигивание

 

Powered by ExBB FM 1.0 RC1