Была, кстати, пробема с одним фреймворком из-за того, что он самостоятельно пытался принимать решение о типе данных основываясь на содержимом. Там была функция ctype_digit вместо регулярки, но суть та же. Как вы написали в статье, для MySQL особой разницы нет (если включен соответствующий режим), но ведущие нули обрезались, что неправильно
if (preg_match("/^[\d]+$/", $prop)) $prop = (int)$prop;
Замечательно. А теперь скажите, пожалуйста, что мы получим, если исходным значением будет строка '0001234'?
Т.е. получается, что нельзя использовать строковые поля, в которых содержатся только цифры?
При чём тут порядковый номер?
Каюсь, с первого раза это не увидел, но всё же надо такие моменты учитывать тем, кто захочет перенять подобный способ
Замечательно. А теперь скажите, пожалуйста, что мы получим, если исходным значением будет строка '0001234'?
Т.е. получается, что нельзя использовать строковые поля, в которых содержатся только цифры?