#php #arrays #laravel #object
#php #массивы #laravel #объект
Вопрос:
У меня есть такие данные :
array: [
0: [
0: {fruits: "apple", price: "15000"},
1: {fruits: "orange", price: "12000"},
],
1: [
0: {fruits: "grape", price: "13000"},
1: {fruits: "chery", price: "14000"},
2: {fruits: "longan", price: "12000"},
],
2: [
0: {fruits: "manggo", price: "16000"},
1: {fruits: "dragon fruit", price: "17000"},
2: {fruits: "avocado", price: "18000"},
3: {fruits: "coconut", price: "19000"},
],
]
Я хочу спросить, как узнать длину вторых данных, я уже пытаюсь использовать вложенный цикл, но результат не совпадает с моими ожиданиями, мои данные выглядят так :
array: [
0: {fruits: "apple", price: "15000"},
1: {fruits: "orange", price: "12000"},
2: {fruits: "grape", price: "13000"},
3: {fruits: "chery", price: "14000"},
4: {fruits: "longan", price: "12000"},
5: {fruits: "manggo", price: "16000"},
6: {fruits: "dragon fruit", price: "17000"},
7: {fruits: "avocado", price: "18000"},
8: {fruits: "coconut", price: "19000"},
]
и когда я пытаюсь подсчитать все мои данные the result : 9
, и как подсчитать мой общий объект внутри моего массива? Ожидаемый результат :
array 0 = 2, array 1 = 3, array 2 = 4
Комментарии:
1. вы хотите подсчитать количество элементов в каждой группе?
2. да, сэр, я хочу подсчитать количество моих элементов внутри группы
Ответ №1:
Вы можете использовать array_map
(что в данном случае более чем достаточно):
array_map('count', $fruits)
Если вы предпочитаете, вы можете использовать методы сбора, чтобы помочь получить ваш счет из каждой «группы»:
collect($fruits)->map(fn ($i) => count($i))->all()
Или короче:
collect($fruits)->map('count')->all()
Мы создаем коллекцию из массива и используем map
метод для перебора каждой «группы» (элемента этого массива) и возвращаем количество «группы». Затем, чтобы получить массив из коллекции, all
.
PHP.net Функции ручного массива — array_map
Комментарии:
1. хорошо, сэр, спасибо, что дали ответ на этот вопрос, и вы также предоставили документацию. точный, краткий и ясный ответ
2. @LuckALip np, я также добавил прямую опцию PHP… удачи и получайте удовольствие
3. окей, конечно, отметил для меня, спасибо за все
4. Я согласен с @lagbox, сэр, array_map достаточно, поскольку метод сбора map использует array_map в фоновом режиме