2009-08-06 2 views
0

Я просто решил отправиться на землю PHP для удовольствия и узнать, что читал, что php свободно набирается и что $ var можно использовать повторно, так ли это, что приведенный ниже код не представляет проблемы?php переменные datatypes

$x = 996; 
$x = mysql_query("SELECT aString FROM table1"); 

переменные й будет храниться в качестве типа данных Int с 996, то после того, как вторая линии он будет храниться в виде строки типа данных со строкой из запроса?

Не будет ошибок при кастинге?

+0

На стороне записки, mysql_query не возвращает строку. Он возвращает идентификатор результата MySQL, который обычно представляет собой целое число, которое относится к определенному набору результатов кэширования. – Amber

ответ

10

Вы верны; это определение «свободно набрано». Однако это не может быть лучшей практикой.

http://drupaler.co.uk/blog/baby-dont-you-loose-your-type-me/66 хорошее чтение по вашему вопросу.

+0

Точно - использование одного и того же имени переменной просто путает людей, которые должны прочитать код. – rpjohnst

+0

Спасибо, я прочитаю это. – jr3

3

Там не будет никаких ошибок, за исключением того, что вторая линия не даст вам строку, mysql_query возвращает внутренний тип PHP называется resource (как правило, какой-то непрозрачной ручка/указатель для функций библиотеки)

+0

+1 Спасибо, Пол! – jr3

1

Будут ли какие-либо ошибки при кастинге?

Исправить!

jalf объяснил это хорошо here