【发布时间】:2020-06-10 16:43:38
【问题描述】:
我一直在研究这个 MySql 和 PHP 代码:
//SQL para cálculo de trabajos acumulados
$torsAC_sql = mysqli_query($db,"select * from reports WHERE TORS_PROYECTO = '$IDTORS' AND IDUSER = '$user_check' AND MONTH(DATEREG) = MONTH(CURDATE()) AND YEAR(DATEREG) = YEAR(CURDATE()) ORDER BY DATEREG DESC LIMIT 1");
$row9 = mysqli_num_rows($torsAC_sql);
$rowC = mysqli_fetch_array($torsAC_sql,MYSQLI_ASSOC);
if($row9 > 0){
$arrayAcumulados[] = array($rowC["TORS_PROYECTO"] => $rowC["DATEREG"]);
}else{
echo "Error";
}
echo print_r($arrayAcumulados);
结果,我得到以下数组:
`Array (
[0] => Array ( [576] => 2020-02-25 )
[1] => Array ( [417] => 2020-02-19 )
[2] => Array ( [417] => 2020-02-19 )
[3] => Array ( [417] => 2020-02-19 )
[4] => Array ( [549] => 2020-02-07 )
[5] => Array ( [31] => 2020-02-07 )
)`
我使用array_unique php 函数删除了重复项,得到以下结果:
`$a = array_unique($arrayAcumulados, SORT_REGULAR);
Array (
[0] => Array ( [576] => 2020-02-25 )
[1] => Array ( [417] => 2020-02-19 )
[4] => Array ( [549] => 2020-02-07 )
[5] => Array ( [31] => 2020-02-07 )
)`
我想使用 foreach 获取日期值而不是数组上的键而不是重复项。
foreach($a as $i => $item) {
//Insert code to get Date Value
}
如果我尝试echo $a[$item],结果是一个空数组。
【问题讨论】:
-
您也可以在数据库中进行排序和去重。如果要获取第一项,请使用
echo reset($item);
标签: php mysql arrays foreach iteration