Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.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 在关联数组中搜索特定值_Php - Fatal编程技术网

Php 在关联数组中搜索特定值

Php 在关联数组中搜索特定值,php,Php,我有一个关联数组,该数组由使用以下代码的查询创建: $query = ("SELECT `time_stamp`, `EAE` FROM `table`"); $stmt = $con->query($query); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); return $rows; 要访问每个值,我通常使用for循环,例如: for($i = 0 ; $i < count($rows) ; $i++) { echo $

我有一个关联数组,该数组由使用以下代码的查询创建:

$query = ("SELECT `time_stamp`, `EAE` FROM `table`");
$stmt = $con->query($query);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $rows;
要访问每个值,我通常使用
for
循环,例如:

for($i = 0 ; $i < count($rows) ; $i++)
{
     echo $rows[$i]['time_stamp'].' '.$rows[$i]['EAE'].'<br>';
}
但它什么也没找到。我找不到在双作用域数组中使用此函数的方法。你们知道我怎么用吗?或者,是否有另一种方法不涉及再次访问数据库或在整个阵列上运行循环


PS:我还尝试在数组中使用
检测值,但没有找到任何结果。

$rows
在您的情况下将是多维数组<代码>数组搜索
仅循环第一个维度-这就是代码无法工作的原因

可以使用获取指定列的值

$column = array_map(function($element){return $element['time_stamp'];}, $rows);
对于PHP5.5+,可以使用
array\u column

然后您可以使用自己的代码

$sum_a = array_search(date('Y-m-d', $rows[$j]['time_stamp'])." 00:00:00", $column);

为什么不在查询中添加一个where子句,而不是为我的案例添加一个没有帮助的where子句,因为我正在执行一个循环来覆盖所有的值,在这个循环中,我需要访问一个特定的前一个值。这很令人困惑,我能想到的唯一答案是重新访问数据库,然后在循环中进行检查。无论如何,你不能在多维上使用数组搜索,它应该在一个平面上工作。如果你在循环过程中不能得到值,那么使用一个单独的函数来查询数据库中的特定值也不错。不必困惑:-)好吧,你刚才给了我一个想法。干杯
$sum_a = array_search(date('Y-m-d', $rows[$j]['time_stamp'])." 00:00:00", $column);