나는 호텔 예약 시스템에서 일하고 있으며, 1 박당 요금입니다. 내 데이터베이스에는 두 개의 테이블이 있는데 하나는 주식 및 다른 프로모션이라고합니다. 첫 번째 행은 하루 (365 일) 동안 한 행을 포함하고 마지막 행은 할인율이있는 요일을 포함합니다. 때로는 며칠간 할인율이 2 % 이상 차이 날 때도 있습니다. 이 경우 1 월 30 일과 31 일에는 0.10과 0.15가 있습니다.다차원 배열 만들기
테이블 stock
date | rate
--------------------------
2017-01-29 500
2017-01-30 500
2017-01-31 500
테이블 프로모션
date | percent
--------------------------
2017-01-30 0.10
2017-01-31 0.10
2017-01-30 0.15
2017-01-31 0.15
MySQL의 쿼리 (SELECT s.date, s.rate, IFNULL(p.percent, 0) FROM stock s LEFT JOIN promotions p ON s.date = p.date WHERE s.date as date BETWEEN '2017-01-29' AND '2017-01-31')
나는이 결과를 얻을 수 있지만
date | rate | percent
-----------------------------------
2017-01-29 500 0
2017-01-30 500 0.10
2017-01-31 500 0.10
2017-01-30 500 0.15
2017-01-31 500 0.15
나는 하나를 포함하는 다차원 배열을 만들 필요가 할인의 각 백분율에 대한 배열이며, 이들 배열에는 세 개의 d ays, 하루 29 %와 나머지 2 일 0.10. 퍼센트 0.00과 다른 이틀간의 새로운 날 29 0.15. 노력하고 있지만 예제 에서처럼 두 배열에서 29 일을 할당 할 수 없습니다.
Array
(
[0.10] => Array
(
[0] => Array
(
[date] => 2017-01-29
[rate]=>500
[percent] => 0.00
)
[1] => Array
(
[date] => 2017-01-30
[rate]=>500
[percent] => 0.10
)
[2] => Array
(
[date] => 2017-01-31
[rate]=>500
[percent] => 0.10
)
)
[0.15] => Array
(
[0] => Array
(
[date] => 2017-01-29
[rate]=>500
[percent] => 0.00
)
[1] => Array
(
[date] => 2017-01-30
[rate]=>500
[percent] => 0.15
)
[2] => Array
(
[date] => 2017-01-31
[rate]=>500
[percent] => 0.15
)
)
)
PHP 배열이 약간 붙어 있습니다. 내가 할 수있는 그룹이 코드 %까지 첫 번째 배열의 결과 :
$grouped = array();
foreach ($array_p as $item) {
$grouped[$item['percent']][]= $item;
}
하지만 난은이 결과
Array
(
[0.10] => Array
(
[0] => Array
(
[date] => 2017-01-30
[rate] => 500
[percent] => 0.10
)
[1] => Array
(
[date] => 2017-01-31
[rate] => 500
[percent] => 0.10
)
)
[0.15] => Array
(
[0] => Array
(
[date] => 2017-01-30
[rate] => 500
[porcentaje] => 0.15
)
[1] => Array
(
[date] => 2017-01-31
[rate] => 743.80
[percent] => 0.15
)
)
[0.00] => Array
(
[0] => Array
(
[date] => 2017-01-29
[rate] => 500
[percent] => 0.00
)
)
)
를 얻기가 어떻게 각각의 배열에서 삼일을 삽입 할 수 있습니다?