Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php使用Foreach并获得单个结果_Php_Arrays_Foreach - Fatal编程技术网

Php使用Foreach并获得单个结果

Php使用Foreach并获得单个结果,php,arrays,foreach,Php,Arrays,Foreach,我在mysql中有一个表,我在其中找到一些值并将它们放入数组中 假设数组的值为1和5 现在我在另一个表中使用这个数组进行查询,其中我有5个id,我希望它显示所有id减去数组中的id(因此只有2,3,4) 这是我用来在查询中传递foreach的代码 foreach ($array as $value) { $arr=array(); $query= "SELECT * FROM test WHERE data NOT LIKE '%$value%'"; $resul

我在mysql中有一个表,我在其中找到一些值并将它们放入数组中

假设数组的值为1和5

现在我在另一个表中使用这个数组进行查询,其中我有5个id,我希望它显示所有id减去数组中的id(因此只有2,3,4)

这是我用来在查询中传递foreach的代码

foreach ($array as $value) {
    $arr=array();   

    $query= "SELECT * FROM test WHERE data NOT LIKE '%$value%'";
    $result=mysqli_query($con,$query);

    while($row = mysqli_fetch_array($result)) {
        echo $row["id"];
    }
}
我想得到的结果是“2,3,4”,但它给了我2,3,4,5,1,2,3,4

这是数组的创建

$array= array();
$query= "SELECT * FROM test WHERE time1>= '$startTime' AND time1 <=    '$endTime'";
$result=mysqli_query($con,$query);
while($row = mysqli_fetch_array($result)) {
$array[]=$row["data"];
}
$array=array();
$query=“SELECT*FROM test WHERE time1>=”$startTime“AND time1更改为
$query=“SELECT*FROM test WHERE data NOT LIKE“%$value%”和id NOT IN({内爆(',',“,$array\u of_id\u you不想要)})”;

编辑:

我已将“id”键添加到第一个数组中,并将“data”字段移动到“data”键

$array= array();
$query= "SELECT * FROM test WHERE time1>= '$startTime' AND time1 <=    '$endTime'";
$result=mysqli_query($con,$query);
while($row = mysqli_fetch_array($result)) {
    $array[]= array(
        'id'=>$row['id'],
        'data'=>$row["data"]
    );
}
更改为
$query=“SELECT*FROM test WHERE data NOT LIKE“%$value%”和id NOT IN({内爆(',',$array_of_id_you dont_want)})”;

编辑:

我已将“id”键添加到第一个数组中,并将“data”字段移动到“data”键

$array= array();
$query= "SELECT * FROM test WHERE time1>= '$startTime' AND time1 <=    '$endTime'";
$result=mysqli_query($con,$query);
while($row = mysqli_fetch_array($result)) {
    $array[]= array(
        'id'=>$row['id'],
        'data'=>$row["data"]
    );
}

为什么不做一个更好的SQL查询呢

$query= "SELECT * FROM test WHERE data NOT IN (".implode(',',$array).")";
或翻译:

SELECT * FROM test WHERE data NOT IN (1,5)

为什么不做一个更好的SQL查询呢

$query= "SELECT * FROM test WHERE data NOT IN (".implode(',',$array).")";
或翻译:

SELECT * FROM test WHERE data NOT IN (1,5)

您在查询中没有喜欢,这是您真正想要的吗?关于表的结构,您的问题还不是很清楚。列
id
数据是什么类型的?您是否真的想要对数组的每个值执行SQL查询也是个疑问。您在查询中没有喜欢,是什么你真的不想吗?关于表的结构,你的问题不是很清楚。列
id
data
是什么类型的?你是否真的想对数组的每个值执行SQL查询也是个疑问。嗨,我试过了,但不起作用……也许我的代码不适合创建数组现在在我的问题中提到了它,谢谢似乎
数据
不是INT类型。我想你不知道你想在这里做什么。给出真实的例子和真实的预期输出。嗨,我试过了,但它不起作用……也许我的代码不适合创建数组?我现在在我的问题中发布了它,谢谢似乎
数据
不是INT类型。我想你不知道你想在这里做什么。给出真实的例子和真实的预期输出。嗨,我试过了,但它不起作用…也许我的代码不适合创建数组?我现在在我的问题中发布了它,谢谢。它给出了警告:array\u map()需要至少2个参数,1在中给出是的,您是正确的,我忘记将$array作为数组映射的第二个参数传递。我已编辑了我的答案。您好,我尝试过,但它不起作用…也许我的代码不适合创建数组?我现在在问题中发布了它感谢Sit发出警告:array\u map()需要至少2个参数,1如果是,您是正确的,我忘记将$array作为array_映射的第二个参数传递。我已编辑了我的答案。