【发布时间】:2014-04-25 14:47:42
【问题描述】:
我正在尝试根据在这个 SO 问题中找到的答案来完成这项工作:How to search by key=>value in a multidimensional array in PHP - 但我没有运气。
我正在查询数据库。我需要获取结果并将所有具有 'type' = $type 的结果放入一个新数组中,以使用该新数组来显示信息。
搜索功能:
function search($array, $key, $value){
$results = array();
search_r($array, $key, $value, $results);
return $results;
}
function search_r($array, $key, $value, &$results){
if (!is_array($array)) {
return;
}
if (isset($array[$key]) && $array[$key] == $value) {
$results[] = $array;
}
foreach ($array as $subarray) {
search_r($subarray, $key, $value, $results);
}
}
守则:
$getTypes = mysqli_query($link, "SELECT * FROM Type WHERE section = ".$selectValue." ORDER BY `order`");
$getCategories = mysqli_query($link, "SELECT * FROM Category WHERE section = ".$selectValue." ORDER BY `order`");
$getdbvalues = mysqli_query($link, "SELECT * FROM `Data` WHERE section = ".$selectValue." AND `date` = ".$datecomp);
$dbvalues = mysqli_fetch_assoc($getdbvalues);
while($type = mysqli_fetch_assoc($getTypes)){
$typeid = $type['id'];
$getdbdata = search($dbvalues, 'type', $typeid);
while($category1 = mysqli_fetch_assoc($getCategories)){
// DISPLAY DATA FROM $getdbdata
}
}
【问题讨论】:
-
你在哪里使用 search_r 函数返回的数组
$subarray? -
对不起,错误的功能。已更新。
-
我觉得这是可以/应该通过
JOIN完成的事情。 -
在这种情况下是否有某种关于 JOIN 的示例或解释?
-
我们需要查看您的表格结构。
标签: php arrays search multidimensional-array