我有 firePHP,所以我确切地知道变量是什么,但我不明白为什么这段代码没有改变它。
我从 mySQL 调用 $query 接收到(如果返回则生成 [{"type":"2"}]
)
我有 4 种潜在类型,并且事物可以是多种类型(即 [{"type":"1"},{"type":"2"}]
)
现在我想读取这些数据并根据它的类型运行各种其他函数,即:如果它只是类型2,则调用函数TWO,如果它是类型1和2,则调用函数ONE和函数TWO。我认为如果我将所有数据移动到另一个数组中,这将是最简单的。
这是我目前拥有的代码:
$result = array('message'=>false, 'money'=>false, 'glasses'=>false, 'exclamation'=>false);
if (in_array('1',$query)) {$result['message'] = true;}
if (in_array('2',$query)) {$result['money'] = true;}
if (in_array('3',$query)) {$result['glasses']=true;}
if (in_array('4',$query)) {$result['exclamation']=true;}
echo json_encode($result);
然而,这不会更新 $result 数组(因为我可以告诉 $message
的所有值在 firePHP 中都是 false
...因此我假设有些东西我的 if 语句有问题,但是什么?
最佳答案
我不确定 $query
的值,但如果它是这样的:
array [0 => '{"type":"2"}']
您必须使用:
in_array('{"type":"2"}',$query)
因为这是变量的值。
关于php - PHP mySQL 的条件 in_array 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6099140/