Структуры данных: массивы (PHP): различия между версиями

Материал из Информационная безопасностя
Перейти к навигации Перейти к поиску
 
(не показаны 2 промежуточные версии этого же участника)
Строка 38: Строка 38:
 
=== Сгенерировать массив случайных чисел ===
 
=== Сгенерировать массив случайных чисел ===
 
<syntaxhighlight lang="php" line>
 
<syntaxhighlight lang="php" line>
 +
<?php
 +
$a = [];
 +
$count = 10;
  
 +
for($i = 0; $i < $count; $i++) {
 +
    $item = rand(-100, 100);
 +
    $a[] = $item;
 +
    echo $item . " ";
 +
}
 +
echo "<br>";
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
=== Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов, а также их количество ===
 
=== Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов, а также их количество ===
 
<syntaxhighlight lang="php" line>
 
<syntaxhighlight lang="php" line>
 +
<?php
 +
$a = [];
 +
$count = 10;
 +
$oddCount = 0;
  
 +
for($i = 0; $i < $count; $i++) {
 +
    $item = rand(-100, 100);
 +
    $a[] = $item;
 +
    echo $item . " ";
 +
}
 +
echo "<br>";
 +
 +
for($i = 0; $i < $count; $i++) {
 +
    if (abs($a[$i] % 2) == 1) {
 +
        echo $a[$i] . " ";
 +
        $oddCount++;
 +
    }
 +
}
 +
echo "<br>";
 +
 +
echo "Odd numbers count = " . $oddCount . "<br>";
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
=== Разделить массив на два: на положительные+ноль и отрицательные числа ===
 
=== Разделить массив на два: на положительные+ноль и отрицательные числа ===
 
<syntaxhighlight lang="php" line>
 
<syntaxhighlight lang="php" line>
 +
<?php
 +
$a = [];
 +
$pos = [];
 +
$neg = [];
 +
$count = 10;
 +
 +
for($i = 0; $i < $count; $i++) {
 +
    $item = rand(-100, 100);
 +
    $a[] = $item;
 +
    echo $item . " ";
 +
    if ($item >= 0) {
 +
        $pos[] = $item;
 +
    } else {
 +
        $neg[] = $item;
 +
    }
 +
}
 +
echo "<br>";
 +
 +
foreach ($pos as $item) {
 +
    echo $item . " ";
 +
}
 +
echo "<br>";
  
 +
foreach ($neg as $item) {
 +
    echo $item . " ";
 +
}
 +
echo "<br>";
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Текущая версия на 10:07, 7 июля 2021

Массивы

Задачи

Вывод всех целых чисел массива через пробел циклом For

 1 <?php
 2 $a = [1, 5, 8, 3, 9, 23, 15];
 3 
 4 
 5 for($i = 0; $i < count($a); $i++) {
 6     echo $a[$i] . " ";
 7 }
 8 echo "<br>";
 9 
10 foreach ($a as $item) {
11     echo $item . " ";
12 }
13 echo "<br>";

Сделать массив из первых n нечётных чисел

 1 <?php
 2 $a = [];
 3 $count = 10;
 4 
 5 for($i = 0; $i < $count; $i++) {
 6     $item = ($i + 1) * 2 - 1;
 7     $a[] = $item;
 8     echo $item . " ";
 9 }
10 echo "<br>";

Сгенерировать массив случайных чисел

 1 <?php
 2 $a = [];
 3 $count = 10;
 4 
 5 for($i = 0; $i < $count; $i++) {
 6     $item = rand(-100, 100);
 7     $a[] = $item;
 8     echo $item . " ";
 9 }
10 echo "<br>";

Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов, а также их количество

 1 <?php
 2 $a = [];
 3 $count = 10;
 4 $oddCount = 0;
 5 
 6 for($i = 0; $i < $count; $i++) {
 7     $item = rand(-100, 100);
 8     $a[] = $item;
 9     echo $item . " ";
10 }
11 echo "<br>";
12 
13 for($i = 0; $i < $count; $i++) {
14     if (abs($a[$i] % 2) == 1) {
15         echo $a[$i] . " ";
16         $oddCount++;
17     }
18 }
19 echo "<br>";
20 
21 echo "Odd numbers count = " . $oddCount . "<br>";

Разделить массив на два: на положительные+ноль и отрицательные числа

 1 <?php
 2 $a = [];
 3 $pos = [];
 4 $neg = [];
 5 $count = 10;
 6 
 7 for($i = 0; $i < $count; $i++) {
 8     $item = rand(-100, 100);
 9     $a[] = $item;
10     echo $item . " ";
11     if ($item >= 0) {
12         $pos[] = $item;
13     } else {
14         $neg[] = $item;
15     }
16 }
17 echo "<br>";
18 
19 foreach ($pos as $item) {
20     echo $item . " ";
21 }
22 echo "<br>";
23 
24 foreach ($neg as $item) {
25     echo $item . " ";
26 }
27 echo "<br>";

Задачник