空の配列を削除する際に問題があります。以下のよう 私の配列が見えます:常に(倉庫と価格)2つのキーを持っているいくつかのルールで配列の空要素を削除する
Array
(
[Women] => Array
(
[S] => Array
(
[warehouse] => 22
[price] => 21212
)
[M] => Array
(
[warehouse] =>
[price] =>
)
[L] => Array
(
[warehouse] =>
[price] =>
)
[XL] => Array
(
[warehouse] =>
[price] =>
)
[XXL] => Array
(
[warehouse] =>
[price] =>
)
)
[Men] => Array
(
[S] => Array
(
[warehouse] => 22
[price] =>
)
[M] => Array
(
[warehouse] =>
[price] =>
)
[L] => Array
(
[warehouse] =>
[price] =>
)
[XL] => Array
(
[warehouse] =>
[price] =>
)
[XXL] => Array
(
[warehouse] =>
[price] =>
)
)
)
最後の子
マイコード:
$value = $this->$attribute;
$check = function($haystack) use(&$check)
{
foreach ($haystack as $key => $value) {
if (is_array($value)) {
$haystack[$key] = $check($haystack[$key]);
}
if (empty($haystack[$key])) {
unset($haystack[$key]);
}
}
return $haystack;
};
var_dump( $check($value));
結果:
Array
(
[Women] => Array
(
[S] => Array
(
[warehouse] => 22
[price] => 21212
)
)
[Men] => Array
(
[S] => Array
(
[warehouse] => 22
)
)
)
その作業が、私の問題は、最後のレベルには倉庫キーしかないので、 'Men配列'を削除する必要があるということです2つのキーを訂正してください)。 私が望む結果を得るために私の機能を変えるには?
使用[array_filter(http://php.net/manual/en/function.array-filter.php) - 参照[場合多次元配列要素を空の削除全体サブアレイPHP](HTTP: //stackoverflow.com/questions/35490098/multidimensional-array-element-if-empty-delete-entire-sub-array-php#35495083) – Anish
コードについての詳しい説明が必要です。$ haystackには – Calvin