PHP Foreach - Выберите Specifi c Элементы вместо ключей массива - PullRequest
0 голосов
/ 26 февраля 2020

Я работал над этим 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 )
)`

I удалил дубликаты с помощью функции 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], результатом будет пустой массив.

1 Ответ

2 голосов
/ 26 февраля 2020

Если вам больше не нужны ключи, измените эту строку

$arrayAcumulados[] = array($rowC["TORS_PROYECTO"] => $rowC["DATEREG"]); 

на

$arrayAcumulados[] = $rowC["DATEREG"];

, в противном случае вам необходимо использовать вложенные значения для каждого l oop.

foreach($a as $i => $item) {
    foreach($item as $key=> $date){
     echo  $date;
   }                    
}
...