Visual Studio: Найдите блок класса

Вам не нужно звонить array_values(), подмассивы уже проиндексированы.

$person1 = [
   'notes' => [1,2,3]
];

$person2 = [
   'notes' => [4,5,6]
];

$data=[$person1,$person2];

foreach ($data as $student) {
    $Array[] = $student['notes'][0];
}
// now $Array = [1, 4];
echo calculateAverageScore($Array); // 2.5

Это передаст все значения первого элемента вашей пользовательской функции в виде одномерного массива.


Если вы хотите усреднить баллы по каждому человеку ...

foreach ($data as $student) {
    echo calculateAverageScore($student['notes']);
}
// displays 2 then 5
7
задан Alex Janzik 13 January 2009 в 10:29
поделиться

3 ответа

Можно зарегистрироваться в MSDN: блок, содержащий класс, упоминается право наверху:

Класс StringCollection

Представляет набор строк.

Пространство имен: Система. Наборы. Специализированный

Блок: система (в System.dll)

7
ответ дан 6 December 2019 в 11:53
поделиться

То, что я обычно делаю, щелкают правой кнопкой по "StringCollection" в редакторе и нажимают "Go To Definition" затем, окно откроется с заголовком "StringCollection [от Метаданных]", затем я просто толплюсь, указатель мыши к заголовку и подсказке появляется с местоположением блока, куда класс прибывает из.

10
ответ дан 6 December 2019 в 11:53
поделиться

Обычно Вы не можете начиная с большинства блоков содержать несколько пространств имен. Возьмите пример System.Core.dll, который был добавлен в .net 3.5. Это добавило дополнительные классы к Системе. Наборы. Универсальный. Некоторые исходные классы жили в mscorlib.dll Один быстрый способ узнать, хотя должен будет открыть вкладку "Object Browser" в VisualStudio, и нажать небольшую кнопку на панели инструментов "Settings" и делает ure "Контейнерами Представления", проверяется.

-3
ответ дан 6 December 2019 в 11:53
поделиться