Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > IntToStr($string)


Автор: Dr.Wisdom 30.11.2005, 13:52
Нужно соединить кучу строк и разных числовых значений в одну строку.
Че то я никак не могу ничего переколбасить. Вопрос прост как три копейки - "КАК?".

Автор: Darhazer 30.11.2005, 14:39
В PHP в принципе нет тип переменних, поэтому обично и не нужно делать фокусов как IntToStr().
Если тебе нужно, то можно сделать явное переобразование типов или изпользуват функцию http://bg.php.net/manual/en/function.strval.php;

Автор: VAZik 30.11.2005, 16:00
Да позволит, Darhazer, немного распространю его метод, т.к. вопрос был именно КАК.
Когда ты делаешь следующую вещь
Код

$var = 2;
$var .= '3';

Получаешь $var равным '23'. То есть просто банально ставь конкатенацию.

Автор: AztEK 30.11.2005, 19:08
Можно через printf

Автор: Mal Hack 30.11.2005, 22:49
Цитата(Darhazer @ 30.11.2005, 14:39)
В PHP в принципе нет тип переменних,

Но это в принципе. Да, синтаксис позволяет делать очень многие вещи, которые в Си или Паскале не допустимы, но эти вещи могу привести к плачевным последствиям.

http://php.net/ssprintf
http://php.net/sprintf
Это наиболее оптимальные варианты для задачи:

Цитата(Dr @ 30.11.2005, 13:52)
Нужно соединить кучу строк и разных числовых значений в одну строку.

ТОлько не забываем про форматы.

Автор: Guest 1.12.2005, 15:23
Спасибо. Я еще покопаюсь, стока разных вариантов.
Да, отсутствие строгой типизации влечет неоптимальную работу и непонятные глюки.
И вообще грустно как то.
И учить трудно без строгого отслеживания.

Автор: x_byte 6.12.2005, 11:47
так же для этих целей может подойти функция settype:

Код

$foo = "5bar"; // string
$bar = true;   // boolean

settype($foo, "integer"); // $foo теперь 5   (integer)
settype($bar, "string");  // $bar теперь "1" (string)

Автор: Mal Hack 6.12.2005, 22:44
x_byte в данном случае это не совсем то. Задача не в приведении типов.

Автор: x_byte 7.12.2005, 12:53
Mal Hack, я про то, что если он переживает из-за несовпадения типов... то пусть приводит все переменные к одному типу... и соединяет строки без опасений обычным способом: $var.$var2.$var3 и т.д. или я просто не совсем правельно понял вопрос!

Автор: Mal Hack 8.12.2005, 00:48
Цитата(x_byte @ 7.12.2005, 12:53)
Mal Hack, я про то, что если он переживает из-за несовпадения типов... то пусть приводит все переменные к одному типу... и соединяет строки без опасений обычным способом: $var.$var2.$var3 и т.д. или я просто не совсем правельно понял вопрос!

Теоретически правильно, практически такая конкатенация тебе может дать не совсем то, что надо. Поэтому надо форматную строку генерить.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)