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_unique — DevDocs

array_unique

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

array_unique Removes duplicate values from an array

Description

array_unique(array $array, int $flags = SORT_STRING): array

Takes an input array and returns a new array without duplicate values.

Note that keys are preserved. If multiple elements compare equal under the given flags , then the key and value of the first equal element will be retained.

Note : Two elements are considered equal if and only if (string) $elem1 === (string) $elem2 i.e. when the string representation is the same, the first element will be used.

Parameters

array

The input array.

flags

The optional second parameter flags may be used to modify the sorting behavior using these values:

Sorting type flags:

  • SORT_REGULAR - compare items normally (don't change types)
  • SORT_NUMERIC - compare items numerically
  • SORT_STRING - compare items as strings
  • SORT_LOCALE_STRING - compare items as strings, based on the current locale.

Return Values

Returns the filtered array.

Changelog

Version Description
7.2.0 If flags is SORT_STRING , formerly array has been copied and non-unique elements have been removed (without packing the array afterwards), but now a new array is built by adding the unique elements. This can result in different numeric indexes.

Examples

Example #1 array_unique() example

<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>

The above example will output:

Array
(
    [a] => green
    [0] => red
    [1] => blue
)

Example #2 array_unique() and types

<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>

The above example will output:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

Notes

Note : Note that array_unique() is not intended to work on multi dimensional arrays.

See Also

  • array_count_values() - Counts all the values of an array
PHP / array_unshift — DevDocs

array_unshift

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

array_unshift Prepend one or more elements to the beginning of an array

Description

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

array_unshift() prepends passed elements to the front of the array . Note that the list of elements is prepended as a whole, so that the prepended elements stay in the same order. All numerical array keys will be modified to start counting from zero while literal keys won't be changed.

Note :

Resets array's internal pointer to the first element.

Parameters

array

The input array.

values

The values to prepend.

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_unshift() example

<?php
$queue = [
    "orange",
    "banana"
];

array_unshift($queue, "apple", "raspberry");
var_dump($queue);
?>

The above example will output:

array(4) {
  [0] =>
  string(5) "apple"
  [1] =>
  string(9) "raspberry"
  [2] =>
  string(6) "orange"
  [3] =>
  string(6) "banana"
}

Example #2 Usage with associative arrays

If one associative array is prepended to another associative array, the prepended array is numerically indexed into the former array.

<?php
$foods = [
    'apples' => [
        'McIntosh' => 'red',
        'Granny Smith' => 'green',
    ],
    'oranges' => [
        'Navel' => 'orange',
        'Valencia' => 'orange',
    ],
];
$vegetables = [
    'lettuce' => [
        'Iceberg' => 'green',
        'Butterhead' => 'green',
    ],
    'carrots' => [
        'Deep Purple Hybrid' => 'purple',
        'Imperator' => 'orange',
    ],
    'cucumber' => [
        'Kirby' => 'green',
        'Gherkin' => 'green',
    ],
];

array_unshift($foods, $vegetables);
var_dump($foods);

The above example will output:

array(3) {
  [0] =>
  array(3) {
    'lettuce' =>
    array(2) {
      'Iceberg' =>
      string(5) "green"
      'Butterhead' =>
      string(5) "green"
    }
    'carrots' =>
    array(2) {
      'Deep Purple Hybrid' =>
      string(6) "purple"
      'Imperator' =>
      string(6) "orange"
    }
    'cucumber' =>
    array(2) {
      'Kirby' =>
      string(5) "green"
      'Gherkin' =>
      string(5) "green"
    }
  }
  'apples' =>
  array(2) {
    'McIntosh' =>
    string(3) "red"
    'Granny Smith' =>
    string(5) "green"
  }
  'oranges' =>
  array(2) {
    'Navel' =>
    string(6) "orange"
    'Valencia' =>
    string(6) "orange"
  }
}

See Also

  • array_merge() - Merge one or more arrays
  • array_shift() - Shift an element off the beginning of array
  • array_push() - Push one or more elements onto the end of array
  • array_pop() - Pop the element off the end of array
Read article
PHP / array_values — DevDocs

array_values

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

array_values Return all the values of an array

Description

array_values(array $array): array

array_values() returns all the values from the array and indexes the array numerically.

Parameters

array

The array.

Return Values

Returns an indexed array of values.

Examples

Example #1 array_values() example

<?php
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));
?>

The above example will output:

Array
(
    [0] => XL
    [1] => gold
)

See Also

  • array_keys() - Return all the keys or a subset of the keys of an array
  • array_combine() - Creates an array by using one array for keys and another for its values
Read article
PHP / array_walk — DevDocs

array_walk

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

array_walk Apply a user supplied function to every member of an array

Description

array_walk(array|object &$array, callable $callback, mixed $arg = null): bool

Applies the user-defined callback function to each element of the array array.

array_walk() is not affected by the internal array pointer of array . array_walk() will walk through the entire array regardless of pointer position.

Parameters

array

The input array.

callback

Typically, callback takes on two parameters. The array parameter's value being the first, and the key/index second.

Note :

If callback needs to be working with the actual values of the array, specify the first parameter of callback as a reference. Then, any changes made to those elements will be made in the original array itself.

Note :

Many internal functions (for example strtolower() ) will throw a warning if more than the expected number of argument are passed in and are not usable directly as a callback .

Only the values of the array may potentially be changed; its structure cannot be altered, i.e., the programmer cannot add, unset or reorder elements. If the callback does not respect this requirement, the behavior of this function is undefined, and unpredictable.

arg

If the optional arg parameter is supplied, it will be passed as the third parameter to the callback .

Return Values

Returns true .

Errors/Exceptions

As of PHP 7.1.0, an ArgumentCountError will be thrown if the callback function requires more than 2 parameters (the value and key of the array member), or more than 3 parameters if the arg is also passed. Previously, in this case an error of level E_WARNING would be generated each time array_walk() calls callback .

Changelog

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

Examples

Example #1 array_walk() example

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

function test_alter(&$item1, $key, $prefix)
{
    $item1 = "$prefix: $item1";
}

function test_print($item2, $key)
{
    echo "$key. $item2\n";
}

echo "Before ...:\n";
array_walk($fruits, 'test_print');

array_walk($fruits, 'test_alter', 'fruit');
echo "... and after:\n";

array_walk($fruits, 'test_print');
?>

The above example will output:

Before ...:
d. lemon
a. orange
b. banana
c. apple
... and after:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple

Example #2 array_walk() example using anonymous function

<?php
$elements = ['a', 'b', 'c'];

array_walk($elements, function ($value, $key) {
  echo "{$key} => {$value}\n";
});

?>

The above example will output:

0 => a
1 => b
2 => c

See Also

  • array_walk_recursive() - Apply a user function recursively to every member of an array
  • iterator_apply() - Call a function for every element in an iterator
  • list() - Assign variables as if they were an array
  • each() - Return the current key and value pair from an array and advance the array cursor
  • call_user_func_array() - Call a callback with an array of parameters
  • array_map() - Applies the callback to the elements of the given arrays
  • foreach
Read article
PHP / array_walk_recursive — DevDocs

array_walk_recursive

(PHP 5, PHP 7, PHP 8)

array_walk_recursive Apply a user function recursively to every member of an array

Description

array_walk_recursive(array|object &$array, callable $callback, mixed $arg = null): bool

Applies the user-defined callback function to each element of the array . This function will recurse into deeper arrays.

Parameters

array

The input array.

callback

Typically, callback takes on two parameters. The array parameter's value being the first, and the key/index second.

Note :

If callback needs to be working with the actual values of the array, specify the first parameter of callback as a reference. Then, any changes made to those elements will be made in the original array itself.

arg

If the optional arg parameter is supplied, it will be passed as the third parameter to the callback .

Return Values

Returns true on success or false on failure.

Examples

Example #1 array_walk_recursive() example

<?php
$sweet = array('a' => 'apple', 'b' => 'banana');
$fruits = array('sweet' => $sweet, 'sour' => 'lemon');

function test_print($item, $key)
{
    echo "$key holds $item\n";
}

array_walk_recursive($fruits, 'test_print');
?>

The above example will output:

a holds apple
b holds banana
sour holds lemon

You may notice that the key ' sweet ' is never displayed. Any key that holds an array will not be passed to the function.

See Also

  • array_walk() - Apply a user supplied function to every member of an array
Read article
PHP / arsort — DevDocs

arsort

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

arsort Sort an array in descending order and maintain index association

Description

arsort(array &$array, int $flags = SORT_REGULAR): bool

Sorts array in place in descending order, such that its keys maintain their correlation with the values they are associated with.

This is used mainly when sorting associative arrays where the actual element order is significant.

Note :

If two members compare as equal, they retain their original order. Prior to PHP 8.0.0, their relative order in the sorted array was undefined.

Note :

Resets array's internal pointer to the first element.

Parameters

array

The input array.

flags

The optional second parameter flags may be used to modify the sorting behavior using these values:

Sorting type flags:

  • SORT_REGULAR - compare items normally; the details are described in the comparison operators section
  • SORT_NUMERIC - compare items numerically
  • SORT_STRING - compare items as strings
  • SORT_LOCALE_STRING - compare items as strings, based on the current locale. It uses the locale, which can be changed using setlocale()
  • SORT_NATURAL - compare items as strings using "natural ordering" like natsort()
  • SORT_FLAG_CASE - can be combined (bitwise OR) with SORT_STRING or SORT_NATURAL to sort strings case-insensitively

Return Values

Always returns true .

Examples

Example #1 arsort() example

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
arsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

The above example will output:

a = orange
d = lemon
b = banana
c = apple

The fruits have been sorted in reverse alphabetical order, and the index associated with each element has been maintained.

See Also

  • sort() - Sort an array in ascending order
  • asort() - Sort an array in ascending order and maintain index association
  • The comparison of array sorting functions
Read article