Печать
Родительская категория: Основы программирования
Категория: PHP

Простой пример массива:

$cars = ['Opel', 'Audi', 'VW', 'Toyota', 'Subaru']

// или

$cars = array ('Opel', 'Audi', 'VW', 'Toyota', 'Subaru')

Получить Opel (первый элемент массива) можно по индексу:

echo $cars[0]

2-й способ создания массива:

$cars[0] = 'Opel';
$cars[1] = 'Audi';
$cars[2] = 'VW';
$cars[3] = 'Toyota';
$cars[4] = 'Subaru';

 

Посчитать количество элементов массива:

echo count($cars)

 

Вывод всех элементов массива:

1-й способ осуществляется циклом foreach:

foreach ( $cars as $brand ) {
echo $brand . '<br />';
}

2-й способ. Циклом for с счетчиком i, где i - индекс элемента массива:

$n = count($cars);
for ($i=0; $i<$n; $i++) echo "$cars[$i]". '<br>'

3-й способ:

print_r ($cars) 

Ассоциативный массив (ключ - значение):

$car1 = array ('brand' => 'VW', 
                     'model' => 'Passat',
                     'engine' => '2.0',
                     'year' => '1998'); 

Вывод ассоциативного массива:

foreach ( $car1 as $key => $value ) {
echo "$key". ': '. "$value". '<br>';
}

Или по индексу (ключу):

echo $car1["model"];

 

list и each как альтернатива foreach  

$cars = array("Opel"=>"Vectra", 
                    "Audi"=>"A6",
                    "VW" => "Passat",
                    "Toyota" => "Camry");
while (list($key, $value) = each($cars))
echo "$key : $value <br />"

 

Многомерный массив (двухмерный) 

$cars = array(
"Opel"=> array("Vectra", "Astra", "Insignia"),
"Audi"=> array("A6", "A3"),
"VW" => array("Passat", "Golf", "Tiguan"),
"Toyota" => array("Camry", "Corolla", "Rav 4"),
"Subaru" => array("forester", "Outback", "Impreza"));

foreach ($cars as $brand => $items)
{
echo "<h3>$brand</h3>";
echo "<ul>";
foreach ($items as $key => $value)
{
echo "<li>$value</li>";
}
echo "</ul>";
}

 

Многомерный массив (вложенный)  

$cars = array(
    "car1" => array("brand" => "Opel",
                            "model" => "Vectra",
                            "year" => "1995"),
    "car2" => array("brand" => "VW",
                           "model" => "Passat",
                           "year" => "2008"));

// Вывод всех элементов
foreach ($cars as $car => $items)
{
echo "<h3>$car</h3>";
echo "<ul>";
foreach ($items as $key => $value)
{
echo "<li>$key : $value</li>";
}
echo "</ul>";
}


//Вывод одного элемента
echo $cars["car1"]["model"]

 

Функции для работы с массивами:

sort() - сортировка

arsort() - сортировка в обратном порядке

unset ($car[3]) - удаление элемента по индексу

array_search ('Opel',$cars) - поиск в массиве и вывод индекса

shuffle - перемешать массив в случайном порядке

 

Преобразовать строку в массив - функция explode()

Пример:

$str = "У самовара я и моя Маша";
$arr = explode(" ", $str);
echo print_r($arr)

Преобразовать массив в строку - функция implode()

 

Пример:

$arr[0] = "PHP"; 
$arr[1] = "HTML";
$arr[2] = "CSS";

$string = implode(", ", $arr);
echo $string;

", " - Указывается разделитель