首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环内搜索PHP

循环内搜索PHP
EN

Stack Overflow用户
提问于 2020-06-10 12:32:58
回答 1查看 30关注 0票数 0

我有一个包含输入组的数组。在此数组中,组开始于:ACT/CONDITION-?

我要做的是为每个组创建一个新数组,其中包含与组号匹配的所有值,如-1-2,以便在报告中单独显示。它可能是一个多个组。

代码语言:javascript
复制
[
  "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" => ""
]
EN

回答 1

Stack Overflow用户

发布于 2020-06-10 13:16:13

我只是为了好玩而将值嵌套在我的版本中,希望它能有所帮助:

代码语言:javascript
复制
$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;
    }
}

结果如下:

代码语言:javascript
复制
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] => 
    )

)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62295924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档