我有一个包含输入组的数组。在此数组中,组开始于:ACT/CONDITION-?。
我要做的是为每个组创建一个新数组,其中包含与组号匹配的所有值,如-1或-2,以便在报告中单独显示。它可能是一个多个组。
[
"DESCRIPTION" => "Testting"
"SUBHEADER-GENERAL-FOREMAN" => "AAA"
"SUBHEADER-SUPERINTENDENT" => "BBB"
"SUBHEADER-FOREMAN" => "CCC"
"CONTRACT-NUMBER" => "K225"
"ACT/CONDITION-1" => "Condition" // First group start here
"SAFETY-CATEGORY-1" => "Bump Hazard"
"SAFETY-DEFICIENCY-1" => "Bump hazard"
"OTHER-SAFETY-DEFICIENCY-1" => ""
"POTENTIAL-HURT-1" => "1"
"ROOT-CAUSE-1" => "Unknown"
"OBSERVATION-DESCRIPTION-1" => "DDD"
"HAVE-CORRECTIVE-MEASURES-BEEN-TAKEN?-1" => "No"
"ARE-THERE-ANY-FURTHER-ACTION-REQUIRED?-1" => "No"
"CORRECTIVE-ACTIONS-TAKEN/RECOMMENDED:-1" => ""
"ACT/CONDITION-2" => "Act" // Second group start here
"SAFETY-CATEGORY-2" => "Barricade Entry"
"SAFETY-DEFICIENCY-2" => "Unauthorized entry"
"OTHER-SAFETY-DEFICIENCY-2" => ""
"POTENTIAL-HURT-2" => "1"
"ROOT-CAUSE-2" => "Enforcement"
"OBSERVATION-DESCRIPTION-2" => "FFFF"
"HAVE-CORRECTIVE-MEASURES-BEEN-TAKEN?-2" => "No"
"ARE-THERE-ANY-FURTHER-ACTION-REQUIRED?-2" => "No"
"CORRECTIVE-ACTIONS-TAKEN/RECOMMENDED:-2" => ""
]发布于 2020-06-10 13:16:13
我只是为了好玩而将值嵌套在我的版本中,希望它能有所帮助:
$array = [
"DESCRIPTION" => "Testting",
"SUBHEADER-GENERAL-FOREMAN" => "AAA",
"SUBHEADER-SUPERINTENDENT" => "BBB",
"SUBHEADER-FOREMAN" => "CCC",
"CONTRACT-NUMBER" => "K225",
"ACT/CONDITION-1" => "Condition", // First group start here
"SAFETY-CATEGORY-1" => "Bump Hazard",
"SAFETY-DEFICIENCY-1" => "Bump hazard",
"OTHER-SAFETY-DEFICIENCY-1" => "",
"POTENTIAL-HURT-1" => "1",
"ROOT-CAUSE-1" => "Unknown",
"OBSERVATION-DESCRIPTION-1" => "DDD",
"HAVE-CORRECTIVE-MEASURES-BEEN-TAKEN?-1" => "No",
"ARE-THERE-ANY-FURTHER-ACTION-REQUIRED?-1" => "No",
"CORRECTIVE-ACTIONS-TAKEN/RECOMMENDED:-1" => "",
"ACT/CONDITION-2" => "Act", // Second group start here
"SAFETY-CATEGORY-2" => "Barricade Entry",
"SAFETY-DEFICIENCY-2" => "Unauthorized entry",
"OTHER-SAFETY-DEFICIENCY-2" => "",
"POTENTIAL-HURT-2" => "1",
"ROOT-CAUSE-2" => "Enforcement",
"OBSERVATION-DESCRIPTION-2" => "FFFF",
"HAVE-CORRECTIVE-MEASURES-BEEN-TAKEN?-2" => "No",
"ARE-THERE-ANY-FURTHER-ACTION-REQUIRED?-2" => "No",
"CORRECTIVE-ACTIONS-TAKEN/RECOMMENDED:-2" => ""
];
$new_array = [];
foreach ($array as $key => $value) {
$getRep = substr($key, -1);
if(is_numeric($getRep)) {
$new_array[$getRep][$key] = $value;
}else{
$new_array[$key] = $value;
}
}结果如下:
Array
(
[DESCRIPTION] => Testting
[SUBHEADER-GENERAL-FOREMAN] => AAA
[SUBHEADER-SUPERINTENDENT] => BBB
[SUBHEADER-FOREMAN] => CCC
[CONTRACT-NUMBER] => K225
[1] => Array
(
[ACT/CONDITION-1] => Condition
[SAFETY-CATEGORY-1] => Bump Hazard
[SAFETY-DEFICIENCY-1] => Bump hazard
[OTHER-SAFETY-DEFICIENCY-1] =>
[POTENTIAL-HURT-1] => 1
[ROOT-CAUSE-1] => Unknown
[OBSERVATION-DESCRIPTION-1] => DDD
[HAVE-CORRECTIVE-MEASURES-BEEN-TAKEN?-1] => No
[ARE-THERE-ANY-FURTHER-ACTION-REQUIRED?-1] => No
[CORRECTIVE-ACTIONS-TAKEN/RECOMMENDED:-1] =>
)
[2] => Array
(
[ACT/CONDITION-2] => Act
[SAFETY-CATEGORY-2] => Barricade Entry
[SAFETY-DEFICIENCY-2] => Unauthorized entry
[OTHER-SAFETY-DEFICIENCY-2] =>
[POTENTIAL-HURT-2] => 1
[ROOT-CAUSE-2] => Enforcement
[OBSERVATION-DESCRIPTION-2] => FFFF
[HAVE-CORRECTIVE-MEASURES-BEEN-TAKEN?-2] => No
[ARE-THERE-ANY-FURTHER-ACTION-REQUIRED?-2] => No
[CORRECTIVE-ACTIONS-TAKEN/RECOMMENDED:-2] =>
)
)https://stackoverflow.com/questions/62295924
复制相似问题