我有一个sql查询,它返回一个地方的高度。我已经将结果分解为经度和纬度。结果存储在数组中。
现在我想创建一个数组,该数组应该包含explode函数返回的所有数组。
$sql_altitude = mysql_query("SELECT altitude FROM `navigatio_info`
WHERE bus_id='$bus_id'
AND driver_id ='$driver_id'
ORDER BY stop_no ASC
LIMIT 0 , 30");
while ($row = mysql_fetch_assoc($sql_altitude))
{
//echo $row['altitude'];
//$altitude=array();
$altitude=(explode("-",$row['altitude']));
print_r($altitude);
//$lat=array();
$lat=$altitude[0];
//print_r($lat);
echo '<br/>';
//$long=array();
$long=$altitude[1];
//print_r($long);
//echo '<br/>';
}下面是定义的静态数组:
<?php
$phpArray = array(array('Vadodara',22.3000,73.2000,5),
array('Valsad',20.6300,72.9300,2),
array('Thane',19.1724,72.9570,1));
)?>我希望$phpArray具有从上面的查询生成的动态值
发布于 2015-06-19 13:42:44
请使用mysqli_*函数,因为mysql_*函数现在比较旧。
$phpArray = array();
while ($row = mysql_fetch_assoc($sql_altitude))
{
/*
I assume $row['altitude'] contains something like below string
$row['altitude'] = "place-latitude-longitute-altitude"
*/
$phpArray[] = explode("-",$row['altitude']);
}
print_r($phpArray);发布于 2015-06-19 13:35:53
$sql_altitude = mysql_query("SELECT altitude FROM `navigatio_info` WHERE bus_id='$bus_id'AND driver_id ='$driver_id' ORDER BY stop_no ASC LIMIT 0 , 30");
$phparray = array();
while ($row = mysql_fetch_assoc($sql_altitude))
{
$altitude=(explode("-",$row['altitude']));
$lat=$altitude[0];
$long=$altitude[1];
$phparray = array($lat,$lat);
}
echo "<pre>";
print_r($phparray)
echo "<pre>";请检查以上代码:
发布于 2015-06-19 13:53:38
我理解您的需求,请使用以下代码。
$phpArray = array();
while ($row = mysql_fetch_assoc($sql_altitude)) {
$altitude=(explode("-",$row['altitude']));
$phpArray[]= $altitude;
}
print"<pre>";
print_r($phpArray);
print"</pre>";上面的代码将生成以下数组。
Array
(
[0] => Array
(
[0] => Vadodara
[1] => 22.3000
[2] => 73.2000
[3] => 5
)
[1] => Array
(
[0] => Valsad
[1] => 20.6300
[2] => 72.9300
[3] => 2
)
[2] => Array
(
[0] => Thane
[1] => 19.1724
[2] => 72.9570
[3] => 1
)
)希望这能有所帮助。
https://stackoverflow.com/questions/30930524
复制相似问题