我有一个 PHP 数组,如下所示:
$errors = array('Price'=>array('not a positive decimal number'=> 1), 'TaxYear'=>array('not a positive integer'=>1, 'not 4 digits'=>1), 'Address'=>array(''=>1), 'State'=>array('not 2 letters'=>1, ''=>1), 'ListDate'=>array(''=>1, 'some test'=>1, ''=>1));
echo '$errors:<pre>' . print_r($errors,1) . '</pre>';
Array
(
[Price] => Array
(
[not a positive decimal number] => 1
)
[TaxYear] => Array
(
[not a positive integer] => 1
[not 4 digits] => 1
)
[Address] => Array
(
[] => 1
)
[State] => Array
(
[not 2 letters] => 1
[] => 1
)
[ListDate] => Array
(
[] => 1
[some test] => 1
)
)
目标是从这个数组创建另一个数组,如下所示:
Array
(
[Price] => Array
(
[not a positive decimal number] => 1
)
[TaxYear] => Array
(
[not a positive integer] => 1
[not 4 digits] => 1
)
[State] => Array
(
[not 2 letters] => 1
)
[ListDate] => Array
(
[some test] => 1
)
)
本质上,嵌套数组中以 [] 作为其元素名称的任何元素都需要被删除。如果外部数组中的任何键只有 1 个错误,并且该错误的元素名称为 [],则还需要删除外部数组中的键(参见示例中的 [Address] 以了解此情况)。实现这一目标的最佳方法是什么?