php 不可能预知你的特殊需求,所以必须你自己写$a = array(
  "hardware" => array(
    "status" => "on",
  ),
  "software" => array(
    "systemchk" => array(
      "status" => "on",
      "system" => array(
        "xp" => array(
          "status" => "on",
          "sp" => "1",
          "KB" => "",
        ),
        "win7" => array(
          "status" => "on",
          "sp" => "1",
          "KB" => "",
        ),
        "win8" => array(
          "status" => "on",
          "sp" => "1",
          "KB" => "",
        ),
      ),
    ),
    "softwarechk" => array(
      "status" => "off",
      "softfp" => array(
        0 => array(
          "softfp_oid" => "DEFAULT_SOFTFP_VRV",
          "list" => "1",
          "group" => "",
        ),
        1 => array(
          "softfp_oid" => "DEFAULT_SOFTFP_TMP",
          "list" => "0",
          "group" => "",
        ),
      ),
    ),
  ),
  "safechk" => array(
    "macchk" => array(
      "status" => "on",
    ),
    "agentchk" => array(
      "status" => "on",
    ),
    "termchk" => array(
      "status" => "on",
    ),
    "arpchk" => array(
      "status" => "on",
    ),
    "natchk" => array(
      "status" => "on",
    ),
    "screenchk" => array(
      "status" => "on",
      "screenpwd" => "0",
      "screentime" => "0",
    ),
    "oschk" => array(
      "status" => "on",
    ),
  ),
  "illegalchk" => array(
    "status" => "on",
    "pact" => "HTTP",
    "ip" => "",
    "port" =>  "",
  ),
  "udiskchk" => array(
    "status" => "on",
    "action" => "0",
  ),
  "netcardchk" => array(
    "status" => "on",
    "line" => "1",
    "wireless" => "1",
    "3g" => "1",
    "vpn" => "1",
    "other" => "1",
    "total" => "6",
  ),
  "userchk" => array(
    "status" => "on",
  ),
);function addflag(&$ar) {
  if(! is_array($ar)) return;$ar;
  if(isset($ar['status'])) $ar['flag'] = '';
  foreach($ar as &$v)  addflag($v);
  return $ar;
}var_export(addflag($a));array (
  'hardware' => 
  array (
    'status' => 'on',
    'flag' => '',
  ),
  'software' => 
  array (
    'systemchk' => 
    array (
      'status' => 'on',
      'system' => 
      array (
        'xp' => 
        array (
          'status' => 'on',
          'sp' => '1',
          'KB' => '',
          'flag' => '',
        ),
        'win7' => 
        array (
          'status' => 'on',
          'sp' => '1',
          'KB' => '',
          'flag' => '',
        ),
        'win8' => 
        array (
          'status' => 'on',
          'sp' => '1',
          'KB' => '',
          'flag' => '',
        ),
      ),
      'flag' => '',
    ),
    'softwarechk' => 
    array (
      'status' => 'off',
      'softfp' => 
      array (
        0 => 
        array (
          'softfp_oid' => 'DEFAULT_SOFTFP_VRV',
          'list' => '1',
          'group' => '',
        ),
        1 => 
        array (
          'softfp_oid' => 'DEFAULT_SOFTFP_TMP',
          'list' => '0',
          'group' => '',
        ),
      ),
      'flag' => '',
    ),
  ),
  'safechk' => 
  array (
    'macchk' => 
    array (
      'status' => 'on',
      'flag' => '',
    ),
    'agentchk' => 
    array (
      'status' => 'on',
      'flag' => '',
    ),
    'termchk' => 
    array (
      'status' => 'on',
      'flag' => '',
    ),
    'arpchk' => 
    array (
      'status' => 'on',
      'flag' => '',
    ),
    'natchk' => 
    array (
      'status' => 'on',
      'flag' => '',
    ),
    'screenchk' => 
    array (
      'status' => 'on',
      'screenpwd' => '0',
      'screentime' => '0',
      'flag' => '',
    ),
    'oschk' => 
    array (
      'status' => 'on',
      'flag' => '',
    ),
  ),
  'illegalchk' => 
  array (
    'status' => 'on',
    'pact' => 'HTTP',
    'ip' => '',
    'port' => '',
    'flag' => '',
  ),
  'udiskchk' => 
  array (
    'status' => 'on',
    'action' => '0',
    'flag' => '',
  ),
  'netcardchk' => 
  array (
    'status' => 'on',
    'line' => '1',
    'wireless' => '1',
    '3g' => '1',
    'vpn' => '1',
    'other' => '1',
    'total' => '6',
    'flag' => '',
  ),
  'userchk' => 
  array (
    'status' => 'on',
    'flag' => '',
  ),
)