PHP에서 다른 배열로 하나의 배열 만들기
PHPPHP에서 다른 배열로 하나의 배열 만들기
나는이 배열을 가지고있다. 이것은 2 차원 배열입니다.
$MainArray = Array
(
[0] => Array
(
[Job_Name] => WXYZ
[Quantity] => 1000
[Machine_Name] => Machine1
[Start_Date] => 2014-07-30 00:00:00
[Completion_Date] => 2014-08-02 00:00:00
[Labor] => 4
)
[1] => Array
(
[Job_Name] => ABCD
[Quantity] => 1500
[Machine_Name] => Machine2
[Start_Date] => 2014-08-08 00:00:00
[Completion_Date] => 2014-08-14 00:00:00
[Labor] => 2
)
[2] => Array
(
[Job_Name] => BCDA
[Quantity] => 1200
[Machine_Name] => Machine1
[Start_Date] => 2014-08-02 00:00:00
[Completion_Date] => 2014-08-07 00:00:00
[Labor] => 1
)
)
이 정보를 사용하여 다음과 같은 새로운 3 차원 배열을 만들고 싶습니다.
$ConvertedArray = Array
(
[Machine1] => Array
(
[0] => Array
(
[Job_Name] => WXYZ
[Quantity] => 1000
[Start_Date] => 2014-07-30 00:00:00
[Completion_Date] => 2014-08-02 00:00:00
[Labor] => 4
)
[1] => Array
(
[Job_Name] => BCDA
[Quantity] => 1200
[Start_Date] => 2014-08-02 00:00:00
[Completion_Date] => 2014-08-07 00:00:00
[Labor] => 1
)
)
[Machine2] => Array
(
[0] => Array
(
[Job_Name] => ABCD
[Quantity] => 1500
[Machine_Name] => Machine2
[Start_Date] => 2014-08-08 00:00:00
[Completion_Date] => 2014-08-14 00:00:00
[Labor] => 2
)
)
)
이것에 대한 도움을 주시면 감사하겠습니다. 나는 원래 배열을 사용하여 새로운 배열을 만드는 방법을 알아야 할 필요가있다. 그래서 기본적으로 각 머신의 모든 작업을 그룹화하고 그 작업의 키는 원래의 배열에있는 방법에 따라 다릅니다. 따라서 원래 배열에 키 2가있는 작업이 있고 다른 작업에 해당 컴퓨터의 상위 키가없는 경우 해당 작업의 키가 0이되고 해당 컴퓨터 이름으로 새 키를 만듭니다.
이 일에 정말로 도움을 주셔서 감사합니다.
해결법
-
==============================
1.
foreach ($MainArray as $value) { $name = $value['Machine_Name']; unset($value['Machine_Name']); $ConvertedArray[$name][] = $value; }
-
==============================
2.아래 코드를 사용하십시오 : -
아래 코드를 사용하십시오 : -
$result = []; foreach($MainArray as $record){ $result[$record['Machine_Name']][] = $record; } echo '<pre>'; print_r($result);
산출:-
Array ( [Machine1] => Array ( [0] => Array ( [Job_Name] => WXYZ [Quantity] => 1000 [Start_Date] => 2014-07-30 00:00:00 [Completion_Date] => 2014-08-02 00:00:00 [Labor] => 4 ) [1] => Array ( [Job_Name] => BCDA [Quantity] => 1200 [Start_Date] => 2014-08-02 00:00:00 [Completion_Date] => 2014-08-07 00:00:00 [Labor] => 1 ) ) [Machine2] => Array ( [0] => Array ( [Job_Name] => ABCD [Quantity] => 1500 [Machine_Name] => Machine2 [Start_Date] => 2014-08-08 00:00:00 [Completion_Date] => 2014-08-14 00:00:00 [Labor] => 2 ) ) )
from https://stackoverflow.com/questions/35473174/creating-one-array-from-another-array-in-php by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
Laravel에는 Mcrypt PHP 확장이 필요합니다. (0) | 2018.09.08 |
---|---|
"Keep Me Logged In"- 최선의 접근 방식 (0) | 2018.09.08 |
참조 - SimpleXML에서 네임 스페이스 (콜론이있는 태그와 속성)를 처리하려면 어떻게해야합니까? (0) | 2018.09.08 |
체크 박스가 true 일 때 행을 강조 표시하십시오. (0) | 2018.09.08 |
PHP의 DateTime 클래스에서 DateTime-> date에 액세스 할 수없는 이유는 무엇입니까? 그게 버그 야? (0) | 2018.09.08 |