Current Path : /storage/v11800/madhavcotex-com/public_html/wp-content/plugins/tablepress/classes/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/madhavcotex-com/public_html/wp-content/plugins/tablepress/classes/class-import-base.php |
<?php
/**
* TablePress Table Import Base Class
*
* @package TablePress
* @subpackage Export/Import
* @author Tobias Bäthge
* @since 2.0.0
*/
// Prohibit direct script loading.
defined( 'ABSPATH' ) || die( 'No direct script access allowed!' );
/**
* TablePress Table Import Base Class
*
* @package TablePress
* @subpackage Export/Import
* @author Tobias Bäthge
* @since 2.0.0
*/
abstract class TablePress_Import_Base {
/**
* Makes sure that a passed table array is rectangular with all rows having the same number of columns (the highest one that is found).
*
* This function uses call by reference to save PHP memory on large arrays.
*
* @since 1.0.0
* @since 2.0.0 The $an_array parameter is handled by reference.
*
* @param array<int, array<int, mixed>> $an_array Two-dimensional array to be padded.
*/
public function pad_array_to_max_cols( array &$an_array ): void {
$max_columns = $this->count_max_columns( $an_array );
// Extend the array to at least one column.
$max_columns = max( 1, $max_columns );
array_walk(
$an_array,
static function ( array &$row, int $col_idx ) use ( $max_columns ): void {
$row = array_pad( $row, $max_columns, '' );
}
);
}
/**
* Get the highest number of columns in the rows.
*
* @since 1.0.0
*
* @param array<int, array<int, mixed>> $an_array Two-dimensional array.
* @return int Highest number of columns in the rows of the array.
*/
protected function count_max_columns( array $an_array ): int {
$max_columns = 0;
foreach ( $an_array as $row_idx => $row ) {
$num_columns = count( $row );
$max_columns = max( $num_columns, $max_columns );
}
return $max_columns;
}
} // class TablePress_Import_Base