Введение в PowerShell ForEach Loop

Понимание цикла ForEach Loop в PowerShell, ForEach и forLoop, выполняющих одинаковые задачи, оба предназначены для манипулирования и выполнения одного и того же фрагмента кода на повторяющейся основе. Если вы читаете каждый элемент массива или он может читать каждую строку файла, в таком типе условия мы используем foreach. Например, массив, содержащий пользователей, и мы хотим проверить пользователя с именем «Vijay», поэтому нам нужно проверить каждый элемент, и для этого нам нужен цикл «foreach», и как только пользовательский цикл «Vijay» будет найден. Если вам нужно было посмотреть на атрибут города каждого пользователя перед выполнением действия, вы можете использовать цикл ForEach и выполнять соответствующую работу для каждого города. ForEach экономит мало памяти и времени по сравнению с циклом for. В PowerShell 4.0 и более поздних версиях метод ForEach обеспечивает еще более высокую производительность.

Синтаксис цикла ForEach

Ниже приведен синтаксис

foreach ($ in $)
(


)

В приведенном выше синтаксисе мы можем видеть, что каждый раз, когда выбирается один элемент из Actualarray, этот элемент отправляется на обработку внутри цикла foreach. Если $ пусто или в нем нет элемента, он не пойдет на выполнение операторов. PowerShell создает переменную $ автоматически при запуске цикла Foreach. Например, цикл Foreach в следующем примере отображает значения в массиве $ Students. В цикле for нам нужно было написать логику, чтобы проверить, является ли массив пустым, цикл foreach выполняет блок операторов, если в массиве есть какой-либо элемент.

Код:

$students = ""
PS /home/ranjan> foreach ($student in $students)
(
Write-Host $student
)
output nothing, which means checking of array elements attributes are done internally by foreach loops.
$students = "ajay", "vijay", "ranjan", "akash", ”vikash”
foreach ($student in $students)
(
Write-Host $student
)

Экран вывода и кода:

Блок-схема PowerShell ForEach Loop

Ниже приведена блок-схема цикла PowerShell ForEach:

Объяснение вышеуказанной блок-схемы: приведенная выше блок-схема очень четко представляет поток. Как только выполнение начнется сначала, он проверит данные (проверяет, есть ли элемент в массиве), остановится ли его пустой цикл. Но если Data там, он продолжит выполнение и выполнит оператор 1, оператор 2, оператор 3 до последних данных массива. Как только Array получит пустой цикл, остановите выполнение.

Выход:

Объяснение вышеприведенного вывода: на приведенном выше экране показано, что если в массиве было два атрибута, он печатал два раза, привет, но если мы сделали $ Students в виде пустого массива, то нет привет-печати, это означает, что в случае наличия любого атрибута внутри $ массив студентов, чем он собирается выполнить блок операторов, иначе он не выполняется.

Как работает цикл ForEach в PowerShell?

Предположим, у нас есть 4 элемента, и мы хотим умножить каждое число на пять. Предположим, у нас есть $ a, $ b, $ c, $ d, и мы должны умножить каждое на 5, чтобы мы могли сделать следующее.

Образец кода:

$a=2, $b=4, $c=9, $d=5
$a * 5 =10, $b * $5=20, $c * 5=45, $d*5=25

Следовательно, мы получили наш результат. Но было бы хорошо, если бы у нас было только 4 элемента для умножения на 5, предположим, что будет 10000 элементов, которые нужно умножить на 5, тогда было бы очень утомительно писать для каждого.

Так что было бы простым решением для этого? Все, что нам нужно сделать, это то, что мы должны создать массив со всеми нашими элементами и передать массив по foreach и умножить каждый элемент на 5. Чтобы умножить число пять на каждый из элементов в массиве, нам нужно пройти через массив с помощью команды ForEach.

Вот весь сценарий:

Код:

$a = 2, $b = 4, $c = 9, $d =5
$f = $a, $b, $c, $d
Foreach ($i in $f)
(
$i * 5
)

Выход:

Объяснение вышеприведенного кода: в приведенных выше примерах мы определили одну переменную $ f и присвоили ей все 4 переменные, что делает ее массивом. Наконец, мы передаем его из цикла foreach, который дал нам результат 10, 20, 45, 25. Таким образом, мы делаем нашу жизнь проще, так как в реальной жизни будет множество записей, которые нужно изменить, поэтому мы не можем делать это один за другим, поэтому мы используем цикл foreach для решения этих проблем. Просто запустите один раз и измените столько записей, сколько хотите.

Примеры в PowerShell ForEach Loop

Ниже приведен пример в цикле PowerShell ForEach:

Пример № 1

Переберите массив строк, содержащих имена учеников, и найдите длину каждой строки внутри массива.

Код:

$students = @("Ranjan", "Ajay", ”Vijay", "Sujit", "John", "Rakesh", ”Hari”)
foreach ($student in $students) (
"$student = " + $student.length
)

Вывод: Ранджан = 6, Аджай = 4, Виджай = 5, Суджит = 5, Джон = 4, Ракеш = 6, Хари = 4.

Пример № 2

Позвольте мне привести один пример из реальной жизни: на экзаменах вы видели 30 баллов из 100, которые раньше были проходными баллами. Итак, предположим, что у ученика есть недостатки, и есть одно правило, если какой-либо ученик получает 27 баллов и дает ему 30 баллов, то есть просто добавьте еще 3 балла в свои 27 баллов. Таким образом, мы перебираем массив оценок учащихся и добавляем 3 оценки, если их оценки 27, и позволяем им сдавать экзамены, поскольку 30 баллов являются проходными баллами.

Код:

$marks (34, 39, 49, 12, 27, 80, 23, 88, 27)
foreach ($mark in $marks) (
if ($mark -eq 27) ( $mark+3 ) else( $num)
)

Вывод: было два студента, но проверка вручную в lakhs студентов на 27 баллов была немного утомительной задачей, которую мы решили.

Пример № 3

Еще один пример: найдите все числа от 1 до 100, которые полностью делятся на 10.

Код:

$numbers (1..100)
foreach ($number in $numbers)
(
if ( -not ($number % 10) )
(
"$number is totally divisible by 10"
)
)
10 is totally divisible by 10
20 is totally divisible by 10
30 is totally divisible by 10
40 is totally divisible by 10
50 is totally divisible by 10
60 is totally divisible by 10
70 is totally divisible by 10
80 is totally divisible by 10
90 is totally divisible by 10
100 is totally divisible by 10

Выход:

Вывод

В заключение, оператор цикла foreach позволяет нам выполнять оператор или группу операторов несколько раз вместе с проверкой доступности элемента в массиве, что означает выполнение следующего оператора, если есть какие-либо элементы. Циклы foreach запускаются, только если в массиве есть какие-либо элементы, что отличает его от цикла for.

Рекомендуемые статьи

Это руководство по PowerShell ForEach Loop. Здесь мы обсудим, как работает цикл ForEach в PowerShell? с разными примерами. Вы также можете просмотреть другие наши статьи, чтобы узнать больше -

  1. Для петли в R
  2. Что такое PowerShell
  3. Использование Powershell
  4. Как установить PowerShell
  5. Массив в PowerShell | Примеры