Работа с масивом

Статус
В этой теме нельзя размещать новые ответы.

Smile

Старатель
Регистрация
12 Ноя 2006
Сообщения
157
Реакции
11
Нужна помощь, есть строка примерно такого типа:

раз два три четыре пять

как сделать чтоб после каждого слова поставить запятую...

пробывал так:

Код:
$buffer = "раз два три четыре пять";
$arr = explode(" ", $buffer);
 
$count_arr = count($arr);

for($i=0;$i<$count_arr;$i++)
{
    list($a) = $arr[$i];
    $final .= $a.",";
}

echo "$final";
выдает примерно такой результат...

р,д,т,ч,п

тоесть только 1 букву, что я не правельно сделал ?
 
PHP:
$buffer = "раз два три четыре пять";
$buffer = preg_replace("[ ]",", ",$buffer);
echo $buffer;
 
PHP:
$buffer = "раз два три четыре пять";
$buffer = preg_replace("[ ]",", ",$buffer);
echo $buffer;

спс, а если в буфере есть запятая, как убрать ?

к примеру $buffer = "раз два, три, четыре пять";

выдаст: раз, два,, три,, четыре, пять

как сделать чтоб только 1 запятая была ?
 
спс, а если в буфере есть запятая, как убрать ?
к примеру $buffer = "раз два, три, четыре пять";
выдаст: раз, два,, три,, четыре, пять
как сделать чтоб только 1 запятая была ?
PHP:
$buffer = "раз два, три, четыре пять";
$buffer = preg_replace("[ ]",", ",$buffer);
$buffer = preg_replace("[,, ]", ", ",$buffer);
echo $buffer;
 
PHP:
$buffer = "раз два, три, четыре пять";
$buffer = preg_replace("[ ]",", ",$buffer);
$buffer = preg_replace("[,, ]", ", ",$buffer);
echo $buffer;

Зачем все так усложнять, когда можно проще?

PHP:
$buffer = "раз два, три, четыре пять";
$buffer = str_replace(array(',', ' '),array('',', '),$buffer);
echo $buffer;
 
Зачем все так усложнять, когда можно проще?
PHP:
$buffer = "раз два, три, четыре пять";
$buffer = str_replace(array(',', ' '),array('',', '),$buffer);
echo $buffer;
Оо незнал что в регулярку можно запихнуть массив, спасибо, приму к свединью...:)
 
а вот еще вариант:

PHP:
$buffer = "раз два, три, четыре пять"; 
$buffer = implode (',', explode (' ', str_replace(',', '',$buffer))); 
echo $buffer;
 
Оо незнал что в регулярку можно запихнуть массив, спасибо, приму к свединью...:)

Оо незнал что в str_replace префикс str не говарит о том что она вобще не принемает регулярные выражения :D:ay:

str_replace - принемет масивы с данными символов но ни как не регулярных выражений !!!

Добавлено через 5 минут
diavolic

PHP:
$buffer = "раз два, три, четыре пять"; 
$buffer = implode (',', explode (' ', str_replace(',', '',$buffer))); 
echo $buffer;

ага ! А что если $buffer = "раз два,три, четыре пять"; ???? :smmne: Недодумал....

Добавлено через 9 минут
Тогда уж так....

PHP:
<?php
$buffer = "раз два,три, четыре пять";
$buffer = implode (',', explode (' ', str_replace(array(',', '  ', ' '), array(' ', ' ', ','),$buffer)));
echo $buffer;
?>

Добавлено через 12 минут
Хотя моя поправка тоже кривая ))
$buffer = "раз два ,три, четыре пять";
Уэе тупит....

Добавлено через 56 минут
Сходил в энное место... Подумал... :nezn: Вроде все учел.

PHP:
<?php
$buffer = 'раз                                 два ,            три,четыре пять,   ,  ,,,, шесть,';
$buffer=explode(' ', str_replace(',', ' ', trim($buffer)));
$sizeof=sizeof($buffer);

$new_buffer='';
for ($i=0; $i<$sizeof; $i++)
{
	if ($buffer[$i]!='')
	{
		$new_buffer.=$buffer[$i];
		if (($i+1)!=$sizeof) $new_buffer.=',';
	}
}
$buffer=$new_buffer;
unset($new_buffer);

echo $buffer;
?>


---------- Post added at 22:03 ---------- Previous post was at 20:56 ----------

Smile
тоесть только 1 букву, что я не правельно сделал ?

Вы непонятно зачем использовали функцию list

(
list($a) = $arr[$i];
)

Она вам там точно ненужна была.
То что у вас вышло наверно эффект того что к строке можно обратится как масиву номер ключа будит номером символа (вернее наоборот )) )

А вобще именно то что вы хотели воплотить вобще можно было сделать так.

PHP:
<?php
$buffer = 'раз два три четыре пять';
$buffer = implode(',', explode(' ', $buffer));
echo $buffer;
?>

Да и перестаньте на право и на лево ставить " либо ' либо . соединяйте... Я вобще их только для \r\n\t использую :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху