我有一个包含报告的MySQL表。获取我的报告由函数使用:
function fillItByRoute($lat){
global $db;
$array = array(array());
$result = $db->query("SELECT * FROM reports WHERE latitude LIKE '$lat%' ORDER BY datetime_view");
while ($row = $db->fetch_array($result)){
$array[$int][1] = "Desc";
$array[$int][2] = $row['latitude'];
}
return $array;
}
创建一个多维数组。
我有一个不同的数组:
$array_lat = array(25.5,23.1,45.2);
所以,我想知道是否可以通过检查与函数fillItByRoute()创建的多维数组中的值匹配并在新数组中存储函数fillItByRoute()的值来获取$ array_lat的数组值? / p>
不久,再一次:
是否可以做类似的事情?
非常感谢!
答案 0 :(得分:0)
如果我对你的意思的假设是正确的,那就是你所追求的:
function fillItByRoute($lat){
global $db;
$array = array(array());
$result = $db->query("SELECT * FROM reports WHERE latitude LIKE '$lat%' ORDER BY datetime_view");
while ($row = $db->fetch_array($result)){
$latitude = number_format((float)$row['latitude'], 2, '.', '');
if (in_array($latitude,$lat)) {
$array[$int][1] = "Desc";
$array[$int][2] = $row['latitude'];
}
}
return $array;
}
答案 1 :(得分:0)
我想你想要这样的东西。它遍历您的array_lat并将其与SQL中的值进行比较。我不完全确定你想要做什么比较,但你应该把它放在第二个函数的if语句中。如果你想要一个新的数组,你看起来好像是如何创建它们,但如果这太模糊,请告诉我。
function fillItByRoute($lat){
global $db;
$array = array(array());
$result = $db->query("SELECT * FROM reports WHERE latitude LIKE '$lat%' ORDER BY datetime_view");
while ($row = $db->fetch_array($result)){
$array[$int][1] = "Desc";
$array[$int][2] = $row['latitude'];
}
return $array;
function compareArrToSql($array_lat){
for($curr_lat = 0; $curr_lat<count($array_lat); $curr_lat++){
$sql_val = fillItByRoute($array_lat[$curr_lat]);
if($array_lat[$curr_lat]==$sql_val){
}
}
}