Mongodb - PHP - вставить как число - PullRequest
0 голосов
/ 25 января 2012

У меня есть PHP-скрипт, который выглядит так:

    $contacts["{$firstname}"]    =  $_POST["{$firstname}"] ;
$contacts["{$lastname}"]    =  $_POST["{$lastname}"] ;
$contacts["{$age}"]    =  $_POST["{$age}"] ;


    $collection->insert($contacts);

так что это работает нормально, но я все эти значения попал в мою коллекцию как "имя кулака", "фамилия" и "возраст" с кавычками вокруг всех. Я хочу кавычки вокруг имени и фамилии, но я хочу, чтобы поле возраста вставлялось как число / целое число, а не строка в кавычках. Как сделать так, чтобы поле age и другие числовые поля входили в mongodb / collection как число?

Я думал что-то вроде: целое число -> $ _POST ["{$ age}"], но я уверен, что это неправильно. Опять же я использую PHP, а не оболочку. Thnaks.

Спасибо за вашу помощь.

Ответы [ 3 ]

3 голосов
/ 25 января 2012

Во-первых, вам не нужны все эти кавычки и фигурные скобки.Во-вторых, попробуйте привести значение к int

$contacts = array(
    $firstname => $_POST[$firstname],
    $lastname  => $_POST[$lastname],
    $age       => (int) $_POST[$age]
);

. Я предполагаю, что все $_POST переменные были проверены и проверены, а $firstname, $lastname и $ageвсе допустимые строки ключей массива

0 голосов
/ 25 января 2012

Простой, приведите тип к целому, а затем выполните вставку:

$contacts["{$age}"]    =  intval($_POST["{$age}"]) ;
$collection->insert($contacts);
0 голосов
/ 25 января 2012

Вы можете использовать http://php.net/manual/en/function.intval.php для преобразования строки в целое число.

...