use ctype_digit to infer numeric strings as integers [ci skip]