如题所述
第1个回答 推荐于2017-10-10
用递归。
static function test($arr){
foreach($arr as $key => $value){
if(is_array($value)&&empty($value)){
unset($key);
}else{
class::test($value);
}
}
}追问
class TestAction{
function data(){
$array = array(
"foo" => "bar",
42 => 24,
"multi" => array(
"dimensional" => array(
"array" => "foo",
"marry" => array(
)
)
),
"action" => array(
)
);
header("Content-type: text/html; charset=utf-8");
print_r(TestAction::aaa($array));
}
static function aaa($arr){
if(is_array($arr)){
foreach($arr as $key => $value){
if(is_array($value)&&empty($value)){
unset($arr[$key]);
}else{
if(is_array($value)){
$arr[$key] = TestAction::aaa($value);
}
}
}
}
return $arr;
}
}
$action = new TestAction();
$action->data();
?>
static function test($arr){
foreach($arr as $key => $value){
if(is_array($value)&&empty($value)){
unset($key);
}else{
class::test($value);
}
}
}追问
不行的,报错(syntax error, unexpected T_STRING);
是这样调用吗!我的是thinkphp框架
class TestAction{
function data(){
$array = array(
"foo" => "bar",
42 => 24,
"multi" => array(
"dimensional" => array(
"array" => "foo",
"marry" => array(
)
)
),
"action" => array(
)
);
header("Content-type: text/html; charset=utf-8");
print_r(TestAction::aaa($array));
}
static function aaa($arr){
if(is_array($arr)){
foreach($arr as $key => $value){
if(is_array($value)&&empty($value)){
unset($arr[$key]);
}else{
if(is_array($value)){
$arr[$key] = TestAction::aaa($value);
}
}
}
}
return $arr;
}
}
$action = new TestAction();
$action->data();
?>
你那是方法调用的错误,你没调用对
本回答被提问者采纳