In [1]: class test(object):
def __init__(self):
self.pants = 'pants'
@property
def p(self):
return self.pants
@p.setter
def p(self, value):
self.pants = value * 2
....:
In [2]: t = test()
In [3]: t.p
Out[3]: 'pants'
In [4]: t.p = 10
In [5]: t.p
Out[5]: 20
Можно использовать операторы кастинга :
$myText = (string)$myVar;
существует больше деталей для строкового кастинга и преобразования в раздел Strings из руководства PHP, включая специальную обработку для булевских переменных, и аннулирует.
PHP с динамическим контролем типов, таким образом, как Chris Fournier сказал, "Если Вы используете его как строка, это становится строкой". При поиске большего количества управления форматом строки тогда , printf является ответом.
При преобразовании чего-нибудь кроме простых типов как целые числа или булевские переменные необходимо было бы записать собственную функцию/метод для типа, который Вы пытаетесь преобразовать, иначе PHP просто распечатает тип (такой как массив, GoogleSniffer или Биде).
Можно всегда создавать метод, названный.ToString ($in), который возвращается
$in . '';
Помещение его в двойных кавычках должно работать:
$myText = "$myVar";
Поскольку примитивы просто используют (string)$var
или немедленно печатают эту переменную. PHP является динамически типизированным языком, и переменная будет литой для строкового представления на лету.
, Если Вы хотите преобразовать объекты в строки, необходимо будет определить __toString()
метод, который возвращает строку. Этому методу запрещают выдать исключения.
, Как я преобразовываю значение переменной PHP для строкового представления?
значение А может быть преобразовано в строку с помощью (строковый) бросок или strval () функция. (Редактирование: Как Thomas, также указанный).
Это также должно быть автоматически литым для Вас, когда Вы используете его в качестве строки.
Это сделано с преобразованием типа:
$strvar = (string) $var; // Casts to string
echo $var; // Will cast to string implicitly
var_dump($var); // Will show the true type of the variable
В классе можно определить то, что производится при помощи волшебного метода __toString
. Пример ниже:
class Bottles {
public function __toString()
{
return 'Ninety nine green bottles';
}
}
$ex = new Bottles;
var_dump($ex, (string) $ex);
// Returns: instance of Bottles and "Ninety nine green bottles"
еще Некоторые примеры преобразования типа:
$i = 1;
// int 1
var_dump((int) $i);
// bool true
var_dump((bool) $i);
// string "1"
var_dump((string) 1);
Вы ищете strval :
string strval (mixed $ var)
Получите строковое значение переменной. См. Документацию по строке для больше информации о преобразовании в строка.
Эта функция не выполняет форматирование по возвращаемому значению. Если ты ищу способ отформатировать числовой значение в виде строки, см. sprintf () или number_format ().
Вы можете либо использовать typecasting:
$var = (string)$varname;
или StringValue:
$var = strval($varname);
или SetType:
$success = settype($varname, 'string');
// $varname itself becomes a string
Они все работают для одной и той же вещи в терминах Type-Juggling.
Используйте print_r :
$myText = print_r($myVar,true);
Вы также можете использовать его как:
$myText = print_r($myVar,true)."foo bar";
Это установит $ myText
в строку, например:
array (
0 => '11',
)foo bar
Используйте var_export , чтобы получить немного больше информации (с типами переменных, ...):
$myText = var_export($myVar,true);