我发现Wordpress db接口的默认行为是转换所有整数(和float?)类型转换为字符串。
e、 g级
$wp_posts = $wpdb->get_results(\'SELECT * from wp_posts\');
$unexpected_type = gettype($wp_posts[0]->ID) == \'string\';
请确认我的怀疑,这样做是为了支持PHP不支持的非常大(容量巨大)的整数类型,或者提供另一种解释,解释为什么会选择将整数转换为字符串。
我的问题的第二部分,正如所料,是要找出wpdb
类,该类允许请求整数类型记录的整数。
最合适的回答,由SO网友:Ярослав Рахматуллин 整理而成
因为PHP 5.3之前使用的MySQL接口库以字符串形式返回所有内容。如果在编译时启用,新的(可选)接口MySQL本机驱动程序可以返回整数类型。
有关详细信息,请查看libmysql和mysqlnd。