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 :: смисл функции strval()

 PHP.SU

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


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

> Без описания
dadli
Отправлено: 28 Апреля, 2012 - 13:41:50
Post Id



Посетитель


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


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




здравствуите, подскажите плиз что сделает функця strval() ? для чего он вообшем нужно? в мане написано: "Возвращает строковое значение переменной".
ноо, строковое значение переменной возврашает например просто echo или print, да?
и в мануеале http://www.php.net/manual/en/function.strval.php приведенни пример мне не говарит ни о чём, так как, там исползуем или нет strval(), резултат одно и те же? можете написать чуть наглядни пример? или strval() на самом деле, такая безсмисленная функця?
 
 Top
Alho
Отправлено: 28 Апреля, 2012 - 13:46:16
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


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




dadli, внимательнее читаем документацию.
strval перобразует переданную переменную к типу string. И она весьма полезна.
 
 Top
dadli
Отправлено: 28 Апреля, 2012 - 13:49:46
Post Id



Посетитель


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


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




Alho
значит етот функця аналог settype($var,'string'); и всё?

(Отредактировано автором: 28 Апреля, 2012 - 13:50:28)

 
 Top
EuGen Администратор
Отправлено: 28 Апреля, 2012 - 13:51:01
Post Id


Профессионал


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


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




dadli
Эта функция преобразует переменную произвольного типа к строке. По сути, явное преобразование типа.
Следует учитывать, что при применении ее к объекту будет вызван его метод __toString - и таким образом, она неприменима к тем объектам, классы которых не реализуют этого метода.
У этой функции есть так же альтернатива:
PHP:
скопировать код в буфер обмена
  1. $iValue=35;
  2. $sValue=(string)$iValue;

- даст то же самое, что и

Что же касается преобразования в строку и метода __toString, приведу пример:
PHP:
скопировать код в буфер обмена
  1. class Foo
  2. {
  3.    protected $rgData=array();
  4.    function __construct($rgData)
  5.    {
  6.       $this->rgData=$rgData;
  7.    }
  8.    function __toString()
  9.    {
  10.       return serialize($this->rgData);
  11.    }
  12. }
  13. $rTest = new Foo(array('bar'=>true, 'baz'=>49));
  14. $sTest = strval($rTest);
  15. //$sTest будет содержать строку вида a:2:{s:3:"bar";b:1;s:3:"baz";i:49;}


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
dadli
Отправлено: 28 Апреля, 2012 - 14:00:52
Post Id



Посетитель


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


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




ах, я здес тупанул
Цитата:
строковое значение переменной возврашает например просто echo или print, да?

EuGen
очен хороши пример, спасибо болшои.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB