Новичок. Простые вопросы.

Ответить
Аватара пользователя
Grub

Новичок. Простые вопросы.

Сообщение Grub »

Только начал изучение PHP, поэтому пожалуйста не пинайте сильно. Выполняя вот этот



Код:

Код: Выделить всё

<html>
  <head>
    <title>Глава 2.</title>
  </head>
	<body>
<?php
$my_var = 12; //содержит числовое значение
echo "текущий тип переменной ". gettype($my_var). "<br>";
$my_var = settype($my_var, string);
//$my_var теперь имеет строковый тип
echo "текущий тип переменной ". gettype($my_var);
?>
	</body>
</html>

пример, на 2-ой строке, вместо: текущий тип переменной string, получаю boolean. Почему так? Ведь тип переменной задаю явно, string. Что я делаю не так? Может настройки где подправить?

P.S. php 5.1.6+apache 2.0.4+mysql 5.0
Аватара пользователя
Vlad Drakula

Re: Новичок. Простые вопросы.

Сообщение Vlad Drakula »

$my_var = 12; //содержит числовое значение

echo "текущий тип переменной ". gettype($my_var). "
";

settype($my_var, string);//здесь передача идет по ссылке

//$my_var теперь имеет строковый тип

echo "текущий тип переменной ". gettype($my_var);
Аватара пользователя
vadimiron

Re: Новичок. Простые вопросы.

Сообщение vadimiron »

Цитата:



$my_var = settype($my_var, string);



а функция settype что возвращает?
Аватара пользователя
Prisoner

Re: Новичок. Простые вопросы.

Сообщение Prisoner »

Кхм... второй аргумент settype - строка, а не неопределенная константа string как в коде. Есть нюанс в записи констант, конечно (когда неопределенная константа есть строка со своим именем), но лучше уж делать как сказано в мануале.
Аватара пользователя
Grub

Re: Новичок. Простые вопросы.

Сообщение Grub »

Цитата:



а функция settype что возвращает?



ну я как размышлял: что переменная my_var принимает значение 12, но через функцию settype ей меняется тип с integer на string.


Цитата:



но лучше уж делать как сказано в мануале.



как в каком мануале? У меня тот код, что я привел, написан в книге PHP 5 для начинающих. Изд-во wrox.com. Я стал пробовать тот пример, а у меня не получался тот результат, который описан в книге.
Аватара пользователя
vadimiron

Re: Новичок. Простые вопросы.

Сообщение vadimiron »

Grub

смотри здесь




Эта функция возвращает статус операции, то есть удачно или нет. А вы этот статус присваиваете переменной, естественно она становится boolean
Аватара пользователя
Sham

Re: Новичок. Простые вопросы.

Сообщение Sham »

кавычки Пушкин будет ставить?
Аватара пользователя
Sham

Re: Новичок. Простые вопросы.

Сообщение Sham »

Grub, это далеко не первый раз когда Вы столкнетесь с кривым (сильно и не очень) кодом в книгах. Не все проверяют код перед подписыванием в печать.
Ответить

Вернуться в «Вебмастеру»