GoLang array_pad

is this article helpful? yes | no
GoLang replacement for PHP's array_pad [edit | history]
func ArrayPad(s []interface{}, size int, val interface{}) []interface{} {
	if size == 0 || (size > 0 && size < len(s)) || (size < 0 && size > -len(s)) {
		return s
	}
	n := size
	if size < 0 {
		n = -size
	}
	n -= len(s)
	tmp := make([]interface{}, n)
	for i := 0; i < n; i++ {
		tmp[i] = val
	}
	if size > 0 {
		return append(s, tmp...)
	} else {
		return append(tmp, s...)
	}
}

PHP array_pad

PHP original manual for array_pad [ show | php.net ]

array_pad

(PHP 4, PHP 5, PHP 7)

array_padPad array to the specified length with a value

Description

array array_pad ( array $array , int $size , mixed $value )

array_pad() returns a copy of the array padded to size specified by size with value value. If size is positive then the array is padded on the right, if it's negative then on the left. If the absolute value of size is less than or equal to the length of the array then no padding takes place. It is possible to add at most 1048576 elements at a time.

Parameters

array

Initial array of values to pad.

size

New size of the array.

value

Value to pad if array is less than size.

Return Values

Returns a copy of the array padded to size specified by size with value value. If size is positive then the array is padded on the right, if it's negative then on the left. If the absolute value of size is less than or equal to the length of the array then no padding takes place.

Examples

Example #1 array_pad() example

<?php
$input 
= array(12109);

$result array_pad($input50);
// result is array(12, 10, 9, 0, 0)

$result array_pad($input, -7, -1);
// result is array(-1, -1, -1, -1, 12, 10, 9)

$result array_pad($input2"noop");
// not padded
?>

See Also

  • array_fill() - Fill an array with values
  • range() - Create an array containing a range of elements