Раздел: PHP Cookbook

Работа с массивами в PHP

Решил кратко записать основы того, как работают массивы в PHP.

<?php
echo "<b>Обычные массивы (списки)</b>
";
$list = [1,"2","three",null,true]; /* задаём массив. он может содержать разные типы данных */
echo "Длина массива равна ".count($list)."
"; /* вывод длины массива (количества элементов) */
echo "--- начало массива ---
";
for ($i=0;$i<count($list);$i++){echo "$i-й элемент равен "".$list[$i].""
";}; /* вывод значений всех элементов массива */
echo "--- конец массива ---

";

echo "<b>Некоторые действия с элементами массива:</b>
";
echo "Изменим значение для элемента с индексом 3,
добавим новый элемент,
обнулим значение элемента с интексом 2:
";
$list[3] = "новое значение для 3 элемента";/* изменение конкретной ячейки массива  */
$list[] = "последний элемент"; /* добавление нового элемента в конец массива */
$list[2]=null; /* удаление значения второго элемента */
echo "Теперь длина массива равна ".count($list)."
"; /* вывод длины массива (количества элементов) */
echo "--- начало нового массива ---
";
for ($i=0;$i<count($list);$i++){echo "$i-й элемент равен "".$list[$i].""
";}; /* вывод значений всех элементов массива */
echo "--- конец нового массива ---

";

echo "Удалим один элемент массива
";
unset($list[1]); /* удаление элемента с индексом 1 */
echo print_r($list)."
"; /* однострочный вывод массива для наглядности в целях отладки */
var_dump($list); /* аналогично предыдущей строчке, но с указанием типов */
echo "

как видно, между нулевым и вторым элементом ничего нет,";
echo "
а так гораздо нагляднее:
";
echo "
<pre>".print_r($list,true)."</pre>
";
/* ------------------------------ */
echo "<b>Решим пример по вычислению среднего значения ряда чисел</b>
";
$list3=range(-2, 5, 1); /* так задаётся массив целых чисел ль -10 до 10 с шагом в 1 */
echo "Всего элементов ".count($list3)."
";
for ($i=0;$i<count($list3);$i++){echo "$i-й элемент равен "".$list3[$i].""
";}; /* вывод значений всех элементов массива */
function srznach ($input) /* функция для вычисления среднего значения */
{
    $sum=0;
    foreach ($input as $i) //перебор всех значений поданных на вход значений [массива]
    {$sum+=$i;} //сумма всех значений
    $average=$sum/count($input); //среднеарифметическое
    echo "Среднее значение равно $average"; //вывод результата
}
srznach ($list3); /* вызов функции с подачей массива на вход*/
echo "

";

echo "<b>Ассоциативные массивы</b>
";
// Ассоциативные массивы - это массивы с именованными элементами (т.е. вместо цифр элементы массива могут обозначаться с помощью другимх типов данных)
$list2=["name" => "Maria", "age" => 25, "programmer" => true, "telephone"=> null, "pet" => "cat", "значение без ассоциации",]; /* задаём массив  */
echo "Длина массива равна ".count($list2)."
"; /* вывод длины массива (количества элементов) */
foreach ($list2 as $k => $v){ /* так происходит перебор значений ассоциативного массива */
    echo "$k=$v
"; /* вывод названия текущего элемента и его значения */
    }
?>

Результат:

Обычные массивы (списки)
Длина массива равна 5
--- начало массива ---
0-й элемент равен 1
1-й элемент равен 2
2-й элемент равен three
3-й элемент равен
4-й элемент равен 1
--- конец массива ---

Некоторые действия с элементами массива:
Изменим значение для элемента с индексом 3,
добавим новый элемент,
обнулим значение элемента с интексом 2:
Теперь длина массива равна 6
--- начало нового массива ---
0-й элемент равен 1
1-й элемент равен 2
2-й элемент равен
3-й элемент равен новое значение для 3 элемента
4-й элемент равен 1
5-й элемент равен последний элемент
--- конец нового массива ---
Удалим один элемент массива
Array ( [0] => 1 [2] => [3] => новое значение для 3 элемента [4] => 1 [5] => последний элемент ) 1

array (size=5)
  0 => int 1
  2 => null
  3 => string 'новое значение для 3 элемента' (length=53)
  4 => boolean true
  5 => string 'последний элемент' (length=33)



как видно, между нулевым и вторым элементом ничего нет,
а так гораздо нагляднее:

Array
(
    [0] => 1
    [2] => 
    [3] => новое значение для 3 элемента
    [4] => 1
    [5] => последний элемент
)


Решим пример по вычислению среднего значения ряда чисел
Всего элементов 8
0-й элемент равен -2
1-й элемент равен -1
2-й элемент равен 0
3-й элемент равен 1
4-й элемент равен 2
5-й элемент равен 3
6-й элемент равен 4
7-й элемент равен 5
Среднее значение равно 1.5

Ассоциативные массивы
Длина массива равна 6
name=Maria
age=25
programmer=1
telephone=
pet=cat
0=значение без ассоциации

Комментировать

Комментарии

три × 4 =