В 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);