[英]how can i get two dimensional array in this format?
我得到了這種格式的數組。
Date Employee Notes
2013-03-08 ABC Notes of ABC on 08-03-2013
2013-03-08 PQR Notes of PQR on 08-03-2013
2013-03-08 XYZ Notes of XYZ on 08-03-2013
2013-03-09 ABC Notes of ABC on 09-03-2013
2013-03-09 PQR Notes of PQR on 09-03-2013
2013-03-09 XYZ Notes of XYZ on 09-03-2013
我想要這種格式的結果數組
Date Employee Notes
2013-03-08 ABC Notes of ABC on 08-03-2013
PQR Notes of PQR on 08-03-2013
XYZ Notes of XYZ on 08-03-2013
2013-03-09 ABC Notes of ABC on 09-03-2013
PQR Notes of PQR on 09-03-2013
XYZ Notes of XYZ on 09-03-2013
那么我怎么寫我的PHP代碼來得到這樣的結果呢? 這是一個二維數組,我使用過foreach循環來顯示。
有人可以幫我嗎?
您只需要迭代初始數組,並將當前日期存儲在var中。 當下一個日期不變時,您將子數據存儲在同一子條目中。
假設你有
$initial = array(
array('2013-03-08','ABC','Notes of ABC on 08-03-2013'),
array('2013-03-08','PQR','Notes of PQR on 08-03-2013'),
array('2013-03-08','XYZ','Notes of XYZ on 08-03-2013'),
array('2013-03-09','ABC','Notes of ABC on 09-03-2013'),
array('2013-03-09','PQR','Notes of PQR on 09-03-2013'),
array('2013-03-09','XYZ','Notes of XYZ on 09-03-2013')
)
您可以使新數組像
$final = array();
$currentDate = false;
foreach($initial as $index => $subArray)
{
if ($currentDate === false || $currentDate != $subArray[0])
{
$currentDate = $subArray[0];
$final[$currentDate] = array();
}
$final[$currentDate][] = array($subArray[1], $subArray[2]);
}
這將起作用:
$entries = array(
array("Date" => "2013-03-08", "Employee" => "ABC", "Notes" => "Notes of ABC on 08-03-2013"),
array("Date" => "2013-03-08", "Employee" => "PQR", "Notes" => "Notes of PQR on 08-03-2013"),
array("Date" => "2013-03-08", "Employee" => "XYZ", "Notes" => "Notes of XYZ on 08-03-2013"),
array("Date" => "2013-03-09", "Employee" => "ABC", "Notes" => "Notes of ABC on 09-03-2013"),
array("Date" => "2013-03-09", "Employee" => "PQR", "Notes" => "Notes of PQR on 09-03-2013"),
array("Date" => "2013-03-09", "Employee" => "XYZ", "Notes" => "Notes of XYZ on 09-03-2013")
);
$y = array();
foreach ($entries as $entry) {
$date = $entry["Date"];
if (!isset($y[$date])) $y[$date] = array();
unset($entry["Date"]);
$y[$date][] = $entry;
}
print_r($y);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.