Php 有什么方法可以检查mysql返回数组中的密钥吗?
我需要一些从数组中提取数据的帮助。我有一个数组Php 有什么方法可以检查mysql返回数组中的密钥吗?,php,mysql,arrays,Php,Mysql,Arrays,我需要一些从数组中提取数据的帮助。我有一个数组$prices,其结构如下(从mysql返回): 因此,我需要从给定日期的数组中获取价格,目前我正在执行循环,但我认为这很慢..我不喜欢循环,因为我必须在每个请求中执行大约30次相同的循环(用于每天检查价格)D: 您不需要在数组中进行这样的迭代,将所有日期添加到一个数组中,然后在数组中使用: $my_dates=数组(“2014-09-08”、“2014-09-09”、…); 函数getPriceOfDay($my_dates,$values){ $
$prices
,其结构如下(从mysql返回):
因此,我需要从给定日期的数组中获取价格,目前我正在执行循环,但我认为这很慢..我不喜欢循环,因为我必须在每个请求中执行大约30次相同的循环(用于每天检查价格)D:
您不需要在数组中进行这样的迭代,将所有日期添加到一个数组中,然后在数组中使用:
$my_dates=数组(“2014-09-08”、“2014-09-09”、…);
函数getPriceOfDay($my_dates,$values){
$res=”“;
foreach($value作为$value){
if(在数组中($value['date',$my_dates)){
$res.=“找到:“.$value['date']”代表“.$value['price']”。”;
}
}
返回$res;
}
getPriceOfDay($my_dates,$prices);
此时,您只需传递数组一次,所有结果都将连接到$res
Array
(
[0] => Array
(
[pricegroup] => doppia
[date] => 2014-09-01
[price] => 60
[id] => 974
)
[1] => Array
(
[pricegroup] => doppia
[date] => 2014-09-02
[price] => 60
[id] => 975
),
...
)
<?
$prices = json_decode('[{"pricegroup":"doppia","date":"2014-09-01","price":"60","id":"974"},{"pricegroup":"doppia","date":"2014-09-02","price":"60","id":"975"},{"pricegroup":"doppia","date":"2014-09-03","price":"60","id":"976"},{"pricegroup":"doppia","date":"2014-09-04","price":"70","id":"977"},{"pricegroup":"doppia","date":"2014-09-05","price":"60","id":"978"},{"pricegroup":"doppia","date":"2014-09-06","price":"60","id":"979"},{"pricegroup":"doppia","date":"2014-09-07","price":"60","id":"980"},{"pricegroup":"doppia","date":"2014-09-08","price":"60","id":"981"},{"pricegroup":"doppia","date":"2014-09-09","price":"60","id":"982"},{"pricegroup":"doppia","date":"2014-09-10","price":"60","id":"983"},{"pricegroup":"doppia","date":"2014-09-11","price":"60","id":"984"},{"pricegroup":"doppia","date":"2014-09-12","price":"60","id":"985"},{"pricegroup":"doppia","date":"2014-09-13","price":"60","id":"986"},{"pricegroup":"doppia","date":"2014-09-14","price":"60","id":"987"},{"pricegroup":"doppia","date":"2014-09-15","price":"60","id":"988"},{"pricegroup":"doppia","date":"2014-09-16","price":"60","id":"989"},{"pricegroup":"doppia","date":"2014-09-17","price":"60","id":"990"},{"pricegroup":"doppia","date":"2014-09-18","price":"60","id":"991"},{"pricegroup":"doppia","date":"2014-09-19","price":"60","id":"992"},{"pricegroup":"doppia","date":"2014-09-20","price":"60","id":"993"},{"pricegroup":"doppia","date":"2014-09-21","price":"60","id":"994"},{"pricegroup":"doppia","date":"2014-09-22","price":"60","id":"995"},{"pricegroup":"doppia","date":"2014-09-23","price":"60","id":"996"},{"pricegroup":"doppia","date":"2014-09-24","price":"60","id":"997"},{"pricegroup":"doppia","date":"2014-09-25","price":"60","id":"998"},{"pricegroup":"doppia","date":"2014-09-26","price":"60","id":"999"},{"pricegroup":"doppia","date":"2014-09-27","price":"60","id":"1000"},{"pricegroup":"doppia","date":"2014-09-28","price":"60","id":"1001"},{"pricegroup":"doppia","date":"2014-09-29","price":"60","id":"1002"},{"pricegroup":"doppia","date":"2014-09-30","price":"60","id":"1003"}]',true);
function getPriceOfDay($day,$from) {
$res; $loops = count($from)-1;
for ($i = 0; $i <= $loops; $i++) {
if($day === $from[$i][date]) {
$res .= '<p>Found: '.$from[$i][date].' for '.$from[$i][price].'</p>';
}
}
return $res;
}
echo getPriceOfDay('2014-09-01',$prices);
echo getPriceOfDay('2014-09-02',$prices);
echo getPriceOfDay('2014-09-03',$prices);
echo getPriceOfDay('2014-09-04',$prices);
echo getPriceOfDay('2014-09-05',$prices);
echo getPriceOfDay('2014-09-06',$prices);
echo getPriceOfDay('2014-09-07',$prices);
echo getPriceOfDay('2014-09-08',$prices);
echo getPriceOfDay('2014-09-09',$prices);
echo getPriceOfDay('2014-09-10',$prices);
echo getPriceOfDay('2014-09-11',$prices);
echo getPriceOfDay('2014-09-12',$prices);
echo getPriceOfDay('2014-09-13',$prices);
echo getPriceOfDay('2014-09-14',$prices);
echo getPriceOfDay('2014-09-15',$prices);
echo getPriceOfDay('2014-09-16',$prices);
echo getPriceOfDay('2014-09-17',$prices);
echo getPriceOfDay('2014-09-18',$prices);
echo getPriceOfDay('2014-09-19',$prices);
echo getPriceOfDay('2014-09-20',$prices);
echo getPriceOfDay('2014-09-21',$prices);
echo getPriceOfDay('2014-09-22',$prices);
echo getPriceOfDay('2014-09-23',$prices);
echo getPriceOfDay('2014-09-24',$prices);
echo getPriceOfDay('2014-09-25',$prices);
echo getPriceOfDay('2014-09-26',$prices);
echo getPriceOfDay('2014-09-27',$prices);
echo getPriceOfDay('2014-09-28',$prices);
echo getPriceOfDay('2014-09-29',$prices);
echo getPriceOfDay('2014-09-30',$prices);
echo '<pre>';
print_r($prices);
$my_dates = array("2014-09-08", "2014-09-09", ...);
function getPriceOfDay($my_dates, $values) {
$res = "";
foreach($values as $value) {
if(in_array($value['date'], $my_dates)) {
$res .= "<p>Found: " .$value['date'] . ' for '. $value['price'] . "</p>";
}
}
return $res;
}
getPriceOfDay($my_dates, $prices);