我有以下數組填充值:在多維數組計數重複的值,並基於該
Array
(
[0] => Array
(
[event_id] => 90
[event_date] => 2012-11-29
[multi] => 1
)
[1] => Array
(
[event_id] => 86
[event_date] => 2012-11-29
[multi] => 1
)
[2] => Array
(
[event_id] => 52
[event_date] => 2012-11-30
[multi] => 0
)
)
其中我正在用下面的代碼動態生成:
$dates = array();
$curr_date = array();
$iteration_date = null;
foreach ($query as $q) {
$event_id = $q->ID;
$curr_date['event_id'] = $event_id;
$curr_date['event_date'] = date('Y-m-d', get_post_meta($event_id, 'event_unix_date', true));
if (empty($iteration_date)) {
$iteration_date = $curr_date['event_date'];
$curr_date['multi'] = 1;
} elseif ($iteration_date == $curr_date['event_date']) {
$curr_date['multi'] = 1;
} else {
$iteration_date = $curr_date['event_date'];
$curr_date['multi'] = 0;
}
array_push($dates, $curr_date);
}
這是基於MySQL數據庫結果。
我在試圖做的事情是: 檢查是否有相同的數組,[event_date]
,如果是的話,請計算多少,做一段特殊的代碼(一個函數是好的),以及取決於什麼輸出時,根據該條件將[multi]
的值設置爲1,2或3。
基本邏輯是:
檢查,看是否有多個[event_date]
的。如果有,請檢查所有匹配重複日期的類別。如果所有日期均爲X,則將1填入[multi]
,如果所有日期均爲Y,則填充2,如果日期混合爲X & Y,填充爲3.如果只有一個日期,則根據哪個類別填充1或2它是在。
我以爲我是通過循環查詢(它是由event_date DESC)在正確的軌道上,但這不會讓我檢查個別條目類別和填充基礎上。
任何人都可以指向正確的方向嗎?
您能否在您的句子「基本邏輯是:」之後立即更改/提供段落的更多細節?另外,您能否提供您嘗試過的代碼片段,但這些代碼並不適合您? – RonaldBarzell