Welcome to Knowledge Base!

KB at your finger tips

This is one stop global knowledge base where you can learn about all the products, solutions and support features.

Categories
All
Web-PHP
PHP / array_product — DevDocs

array_product

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_product Calculate the product of values in an array

Description

array_product(array $array): int|float

array_product() returns the product of values in an array.

Parameters

array

The array.

Return Values

Returns the product as an integer or float.

Examples

Example #1 array_product() examples

<?php

$a = array(2, 4, 6, 8);
echo "product(a) = " . array_product($a) . "\n";
echo "product(array()) = " . array_product(array()) . "\n";

?>

The above example will output:

product(a) = 384
product(array()) = 1
PHP / array_push — DevDocs

array_push

(PHP 4, PHP 5, PHP 7, PHP 8)

array_push Push one or more elements onto the end of array

Description

array_push(array &$array, mixed ...$values): int

array_push() treats array as a stack, and pushes the passed variables onto the end of array . The length of array increases by the number of variables pushed. Has the same effect as:

<?php
$array[] = $var;
?>
repeated for each passed value.

Note : If you use array_push() to add one element to the array, it's better to use $array[] = because in that way there is no overhead of calling a function.

Note : array_push() will raise a warning if the first argument is not an array. This differed from the $var[] behaviour where a new array was created, prior to PHP 7.1.0.

Parameters

array

The input array.

values

The values to push onto the end of the array .

Return Values

Returns the new number of elements in the array.

Changelog

Version Description
7.3.0 This function can now be called with only one parameter. Formerly, at least two parameters have been required.

Examples

Example #1 array_push() example

<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>

The above example will output:

Array
(
    [0] => orange
    [1] => banana
    [2] => apple
    [3] => raspberry
)

See Also

  • array_pop() - Pop the element off the end of array
  • array_shift() - Shift an element off the beginning of array
  • array_unshift() - Prepend one or more elements to the beginning of an array
Read article
PHP / array_rand — DevDocs

array_rand

(PHP 4, PHP 5, PHP 7, PHP 8)

array_rand Pick one or more random keys out of an array

Description

array_rand(array $array, int $num = 1): int|string|array

Picks one or more random entries out of an array, and returns the key (or keys) of the random entries.

Caution

This function does not generate cryptographically secure values, and must not be used for cryptographic purposes, or purposes that require returned values to be unguessable.

If cryptographically secure randomness is required, the Random\Randomizer may be used with the Random\Engine\Secure engine. For simple use cases, the random_int() and random_bytes() functions provide a convenient and secure API that is backed by the operating system’s CSPRNG .

Parameters

array

The input array.

num

Specifies how many entries should be picked.

Return Values

When picking only one entry, array_rand() returns the key for a random entry. Otherwise, an array of keys for the random entries is returned. This is done so that random keys can be picked from the array as well as random values. If multiple keys are returned, they will be returned in the order they were present in the original array. Trying to pick more elements than there are in the array will result in an E_WARNING level error, and NULL will be returned.

Changelog

Version Description
7.1.0 The internal randomization algorithm has been changed to use the » Mersenne Twister Random Number Generator instead of the libc rand function.

Examples

Example #1 array_rand() example

<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>

See Also

  • Random\Randomizer::pickArrayKeys() - Select random array keys
  • Random\Randomizer::shuffleArray() - Get a permutation of an array
Read article
PHP / array_reduce — DevDocs

array_reduce

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

array_reduce Iteratively reduce the array to a single value using a callback function

Description

array_reduce(array $array, callable $callback, mixed $initial = null): mixed

array_reduce() applies iteratively the callback function to the elements of the array , so as to reduce the array to a single value.

Parameters

array

The input array.

callback
callback(mixed $carry, mixed $item): mixed
carry

Holds the return value of the previous iteration; in the case of the first iteration it instead holds the value of initial .

item

Holds the value of the current iteration.

initial

If the optional initial is available, it will be used at the beginning of the process, or as a final result in case the array is empty.

Return Values

Returns the resulting value.

If the array is empty and initial is not passed, array_reduce() returns null .

Changelog

Version Description
8.0.0 If callback expects a parameter to be passed by reference, this function will now emit an E_WARNING .

Examples

Example #1 array_reduce() example

<?php
function sum($carry, $item)
{
    $carry += $item;
    return $carry;
}

function product($carry, $item)
{
    $carry *= $item;
    return $carry;
}

$a = array(1, 2, 3, 4, 5);
$x = array();

var_dump(array_reduce($a, "sum")); // int(15)
var_dump(array_reduce($a, "product", 10)); // int(1200), because: 10*1*2*3*4*5
var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"
?>

See Also

  • array_filter() - Filters elements of an array using a callback function
  • array_map() - Applies the callback to the elements of the given arrays
  • array_unique() - Removes duplicate values from an array
  • array_count_values() - Counts all the values of an array
Read article
PHP / array_replace — DevDocs

array_replace

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

array_replace Replaces elements from passed arrays into the first array

Description

array_replace(array $array, array ...$replacements): array

array_replace() replaces the values of array with values having the same keys in each of the following arrays. If a key from the first array exists in the second array, its value will be replaced by the value from the second array. If the key exists in the second array, and not the first, it will be created in the first array. If a key only exists in the first array, it will be left as is. If several arrays are passed for replacement, they will be processed in order, the later arrays overwriting the previous values.

array_replace() is not recursive : it will replace values in the first array by whatever type is in the second array.

Parameters

array

The array in which elements are replaced.

replacements

Arrays from which elements will be extracted. Values from later arrays overwrite the previous values.

Return Values

Returns an array .

Examples

Example #1 array_replace() example

<?php
$base = array("orange", "banana", "apple", "raspberry");
$replacements = array(0 => "pineapple", 4 => "cherry");
$replacements2 = array(0 => "grape");

$basket = array_replace($base, $replacements, $replacements2);
print_r($basket);
?>

The above example will output:

Array
(
    [0] => grape
    [1] => banana
    [2] => apple
    [3] => raspberry
    [4] => cherry
)

See Also

  • array_replace_recursive() - Replaces elements from passed arrays into the first array recursively
  • array_merge() - Merge one or more arrays
Read article
PHP / array_replace_recursive — DevDocs

array_replace_recursive

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

array_replace_recursive Replaces elements from passed arrays into the first array recursively

Description

array_replace_recursive(array $array, array ...$replacements): array

array_replace_recursive() replaces the values of array with the same values from all the following arrays. If a key from the first array exists in the second array, its value will be replaced by the value from the second array. If the key exists in the second array, and not the first, it will be created in the first array. If a key only exists in the first array, it will be left as is. If several arrays are passed for replacement, they will be processed in order, the later array overwriting the previous values.

array_replace_recursive() is recursive : it will recurse into arrays and apply the same process to the inner value.

When the value in the first array is scalar, it will be replaced by the value in the second array, may it be scalar or array. When the value in the first array and the second array are both arrays, array_replace_recursive() will replace their respective value recursively.

Parameters

array

The array in which elements are replaced.

replacements

Arrays from which elements will be extracted.

Return Values

Returns an array .

Examples

Example #1 array_replace_recursive() example

<?php
$base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), );
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry'));

$basket = array_replace_recursive($base, $replacements);
print_r($basket);

$basket = array_replace($base, $replacements);
print_r($basket);
?>

The above example will output:

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

)
Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
        )

)

Example #2 array_replace_recursive() and recursive behavior

<?php
$base = array('citrus' => array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' );
$replacements = array('citrus' => 'pineapple', 'berries' => array('blueberry'), 'others' => array('litchis'));
$replacements2 = array('citrus' => array('pineapple'), 'berries' => array('blueberry'), 'others' => 'litchis');

$basket = array_replace_recursive($base, $replacements, $replacements2);
print_r($basket);

?>

The above example will output:

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

    [others] => litchis
)

See Also

  • array_replace() - Replaces elements from passed arrays into the first array
  • array_merge_recursive() - Merge one or more arrays recursively
Read article