用php读取csv值为boolean

时间:2016-01-12 08:02:10

标签: php mongodb csv boolean

我对php在mongoDB中保存数据的方式有问题。 我有一个.csv文件,其中我有一个必须是布尔值的字段,所以我为它添加'假'。 当我从.csv用php读取它时,该值是一个'字符串',由mongoDB解释为一个非空字符串,这会产生一个'true'值字段。 有没有办法像布尔值一样读取它?

我找到了一个可以部分解决我的问题的答案(How to convert string to boolean php),但是我想避免那个部分并像bool一样阅读它,或者至少将其保存为mongoDB中的bool,值为'false' => false,而不是'false'=>真

1 个答案:

答案 0 :(得分:1)

一个简单但很脏的修复方法是检查值并相应地指定一个布尔值。

$var = (var === 'true') ? true : false;

或者你甚至可以制作一个有可能的阵列。

$var = (in_array($string, array('1', 'true', true))) ? true : false;

我知道这不是一个完美的解决方案,但它仍然有用。

经过更多研究

我已经做了一些阅读,发现你也可以使用FILTER_VALIDATE_BOOLEAN过滤器。

// This will return either true or false
$var = filter_var($csvValue, FILTER_VALIDATE_BOOLEAN);