我有一个php脚本,看起来像这样:
$contacts["{$firstname}"] = $_POST["{$firstname}"] ;
$contacts["{$lastname}"] = $_POST["{$lastname}"] ;
$contacts["{$age}"] = $_POST["{$age}"] ;
$collection->insert($contacts);
所以这很好,但我所有这些值都以"fistname"、"lastname"answers"age"的形式进入我的收藏,并在所有这些值周围加上引号。我希望名字和姓氏两边加引号,但我希望年龄字段插入为数字/整数,而不是带引号的字符串。如何确保年龄字段和其他数字字段作为数字进入mongodb/集合?
我想的是:integer->$_POST["{$age}"],但我确信这是不对的。我再次使用PHP而不是shell。Thnaks。
谢谢你的帮助。
首先,您不需要所有的引号和大括号。其次,尝试将值强制转换为int
$contacts = array(
$firstname => $_POST[$firstname],
$lastname => $_POST[$lastname],
$age => (int) $_POST[$age]
);
我在这里假设所有的$_POST
变量都已检查和验证,并且$firstname
、$lastname
和$age
都是有效的数组关键字字符串
Simple,将类型转换为integer,然后执行插入操作:
$contacts["{$age}"] = intval($_POST["{$age}"]) ;
$collection->insert($contacts);
您可以使用http://php.net/manual/en/function.intval.php将字符串转换为整数。