# Method `*()

- Method
**`***

`mixed`

**`*(**`mixed`

`arg1`

**)**

`mixed`

**`*(**`object`

`arg1`

,`mixed`

`arg2`

,`mixed`

...`extras`

**)**

`mixed`

**`*(**`mixed`

`arg1`

,`object`

`arg2`

**)**

`array`

**`*(**`array`

`arg1`

,`int`

`arg2`

**)**

`array`

**`*(**`array`

`arg1`

,`float`

`arg2`

**)**

`string`

**`*(**`string`

`arg1`

,`int`

`arg2`

**)**

`string`

**`*(**`string`

`arg1`

,`float`

`arg2`

**)**

`string`

**`*(**`array`

(`string`

)`arg1`

,`string`

`arg2`

**)**

`array`

**`*(**`array`

(`array`

)`arg1`

,`array`

`arg2`

**)**

`float`

**`*(**`float`

`arg1`

,`int`

|`float`

`arg2`

**)**

`float`

**`*(**`int`

`arg1`

,`float`

`arg2`

**)**

`int`

**`*(**`int`

`arg1`

,`int`

`arg2`

**)**

`mixed`

**`*(**`mixed`

`arg1`

,`mixed`

`arg2`

,`mixed`

...`extras`

**)**- Description
Multiplication/repetition/implosion.

Every expression with the

`*`

operator becomes a call to this function, i.e.`a*b`

is the same as`predef::`*(a,b)`

. Longer`*`

expressions are normally optimized to one call, so e.g.`a*b*c`

becomes`predef::`*(a,b,c)`

.- Returns
If there's a single argument, that argument will be returned.

If the first argument is an object that implements lfun::`*(), that function will be called with the rest of the arguments.

If there are more than two arguments, the result will be

``*(`*(`

,`arg1`

`arg2), @`

`extras).`

If

`arg2`

is an object that implements lfun::``*(), that function will be called with`arg1`

as the single argument.Otherwise the result will be as follows:

`arg1`

can have any of the following types:`array`

`arg2`

can have any of the following types:`int`

|`float`

The result will be

`arg1`

concatenated`arg2`

times.`string`

|`array`

The result will be the elements of

`arg1`

concatenated with`arg2`

interspersed.`string`

The result will be

`arg1`

concatenated`arg2`

times.`int`

|`float`

The result will be

*`arg1`

`arg2, and will be a float if either`

`arg1`

or`arg2`

is a float.- Note
In Pike 7.0 and earlier the multiplication order was unspecified.

- See also