回首忆惘然
使用递归函数浏览您的数组。function Clean($input){ if (is_array($input)){ foreach($input as $key=>$value){ $output=Clean($value); if ($output===null){ return 0; }elseif($output==0){ unset($input[$key]); }else{ $input[$key]=$output; } } return $input; }else{ if ($input==0){ return null; }else{ return $input; } }}例子:<?phpfunction Clean($input){ if (is_array($input)){ foreach($input as $key=>$value){ $output=Clean($value); if ($output===null){ return 0; }elseif($output==0){ unset($input[$key]); }else{ $input[$key]=$output; } } return $input; }else{ if ($input==0){ return null; }else{ return $input; } }}$input = array( "Category 1" => array( "Name 1" => array( "value" => 1, // ... other keys, doesn't matter ), "Name 2" => array( "value" => 0, ), "Name 3" => array( "value" => 0, ), ), "Category 2" => array( "Name 1" => array( "value" => 8, ), "Name 2" => array( "value" => 0, ), "Name 3" => array( "value" => 12, ), ),);echo "input:";var_dump($input);$output=Clean($input);echo "output:";var_dump($output);//exit;$input = array( "Name 1" => array( "value" => 1, // ... other keys, doesn't matter ), "Name 2" => array( "value" => 0, ), "Name 3" => array( "value" => 0, ));echo "input:";var_dump($input);$output=Clean($input);echo "output:";var_dump($output);$input = array( "Category A" => array( "Cat B" => array( "Name 1" => array( "value" => 1, // ... other keys, doesn't matter ), "Name 2" => array( "value" => 0, ), "Name 3" => array( "value" => 0, ) ) ));echo "input:";var_dump($input);$output=Clean($input);echo "output:";var_dump($output);?>结果:input:array(2) { ["Category 1"]=> array(3) { ["Name 1"]=> array(1) { ["value"]=> int(1) } ["Name 2"]=> array(1) { ["value"]=> int(0) } ["Name 3"]=> array(1) { ["value"]=> int(0) } } ["Category 2"]=> array(3) { ["Name 1"]=> array(1) { ["value"]=> int(8) } ["Name 2"]=> array(1) { ["value"]=> int(0) } ["Name 3"]=> array(1) { ["value"]=> int(12) } }}output:array(2) { ["Category 1"]=> array(1) { ["Name 1"]=> array(1) { ["value"]=> int(1) } } ["Category 2"]=> array(2) { ["Name 1"]=> array(1) { ["value"]=> int(8) } ["Name 3"]=> array(1) { ["value"]=> int(12) } }}input:array(3) { ["Name 1"]=> array(1) { ["value"]=> int(1) } ["Name 2"]=> array(1) { ["value"]=> int(0) } ["Name 3"]=> array(1) { ["value"]=> int(0) }}output:array(1) { ["Name 1"]=> array(1) { ["value"]=> int(1) }}input:array(1) { ["Category A"]=> array(1) { ["Cat B"]=> array(3) { ["Name 1"]=> array(1) { ["value"]=> int(1) } ["Name 2"]=> array(1) { ["value"]=> int(0) } ["Name 3"]=> array(1) { ["value"]=> int(0) } } }}output:array(1) { ["Category A"]=> array(1) { ["Cat B"]=> array(1) { ["Name 1"]=> array(1) { ["value"]=> int(1) } } }}