Преобразование строк матрицы в столбцы в PHP: несколько методов, объясненных примерами кода

В PHP существует несколько способов преобразования строки матрицы в столбец. В этой статье блога мы рассмотрим несколько методов вместе с примерами кода, которые помогут вам понять и реализовать это преобразование. Итак, приступим!

Метод 1: использование цикла
Пример кода:

function convertRowToColumn($matrix, $rowIndex) {
    $column = array();
    foreach ($matrix as $row) {
        $column[] = $row[$rowIndex];
    }
    return $column;
}
// Usage example
$matrix = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);
$rowIndex = 1;
$result = convertRowToColumn($matrix, $rowIndex);
print_r($result);

Метод 2: использование функции array_column()
Пример кода:

function convertRowToColumn($matrix, $rowIndex) {
    return array_column($matrix, $rowIndex);
}
// Usage example
$matrix = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);
$rowIndex = 1;
$result = convertRowToColumn($matrix, $rowIndex);
print_r($result);

Метод 3: использование функции array_map()
Пример кода:

function convertRowToColumn($matrix, $rowIndex) {
    return array_map(function ($row) use ($rowIndex) {
        return $row[$rowIndex];
    }, $matrix);
}
// Usage example
$matrix = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);
$rowIndex = 1;
$result = convertRowToColumn($matrix, $rowIndex);
print_r($result);

Метод 4: использование функции array_reduce()
Пример кода:

function convertRowToColumn($matrix, $rowIndex) {
    return array_reduce($matrix, function ($column, $row) use ($rowIndex) {
        $column[] = $row[$rowIndex];
        return $column;
    }, []);
}
// Usage example
$matrix = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);
$rowIndex = 1;
$result = convertRowToColumn($matrix, $rowIndex);
print_r($result);

Метод 5: использование рекурсивной функции
Пример кода:

function convertRowToColumn($matrix, $rowIndex) {
    $column = array();
    if (is_array($matrix)) {
        foreach ($matrix as $row) {
            $column[] = convertRowToColumn($row, $rowIndex);
        }
    } else {
        $column = $matrix;
    }
    return $column;
}
// Usage example
$matrix = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);
$rowIndex = 1;
$result = convertRowToColumn($matrix, $rowIndex);
print_r($result);