Mam tę tablicę:
Array
(
[0] => Array // count 2 values
(
[0] => 3
[1] => 1
)
[1] => Array // count 2 values
(
[0] => 2
[1] => 2
)
[2] => Array // count 4 values
(
[0] => 1
[1] => 1
[2] => 1
[3] => 1
)
)
i chcę uzyskać całą wartość najkrótszej kolumny. w tym przypadku :
Array
(
[0] => Array
(
[0] => 3
[1] => 1
)
[1] => Array
(
[0] => 2
[1] => 2
)
)
Wcześniej publikuję o tej sprawie: Jak uzyskać WSZYSTKIE minimalne wartości w wielowymiarowym układzie?
ale niestety ten przypadek używał tablicy asocjacyjnej. podczas gdy w tym przypadku nie jest to tablica asocjacyjna.
jak uzyskać wartość z tablicy w ten sposób?
Odpowiedzi:
4 dla odpowiedzi № 1Najpierw uzyskaj minimalną długość wszystkich pod-tablic:
$min_length = min(array_map("count", $array));
Następnie odfiltruj tablicę, aby uzyskać elementy o tej długości:
$new_array = array_filter($array, function ($el) use ($min_length) {
return count($el) == $min_length);
});