array_product

(PHP 5 >= 5.1.0)

array_product — Вычислить произведение значений массива

Описание

number array_product ( array $array )

array_product() возвращает произведение значений массива как целое число или число с плавающей точкой.

Пример #1 Пример использования array_product()

<?php

$a 
= array(2468);
echo 
"product(a) = " array_product($a) . "\n";

?>

Результат выполнения данного примера:

product(a) = 384

Коментарии

Автор:
This function can be used to test if all values in an array of booleans are TRUE.

Consider:

<?php

function outbool($test)
{
    return (bool) 
$test;
}

$check[] = outbool(TRUE);
$check[] = outbool(1);
$check[] = outbool(FALSE);
$check[] = outbool(0);

$result = (bool) array_product($check);
// $result is set to FALSE because only two of the four values evaluated to TRUE

?>

The above is equivalent to:

<?php

$check1 
outbool(TRUE);
$check2 outbool(1);
$check3 outbool(FALSE);
$check4 outbool(0);

$result = ($check1 && $check2 && $check3 && $check4);

?>

This use of array_product is especially useful when testing an indefinite number of booleans and is easy to construct in a loop.
2006-08-07 16:56:19
http://php5.kiev.ua/manual/ru/function.array-product.html
An observation about the _use_ of array_product with primes:

$a=$arrayOfSomePrimes=(2,3,11); 
              // 2 being the first prime (these days)

$codeNum=array_product($a); // gives 66 (== 2*3*11)

echo "unique product(\$a) = " . array_product($a) . "\n";

The 66 can (only) be split into its original primes,
which can be transformed into their place in the row of primes (2,3,5,7,11,13,17,19...)  giving (1,2,3,4,5,6,7,8...)

The 66 gives the places {1,2,5} in the row of primes. The number "66" is unique as a code for {1,2,5}

So you can define the combination of table-columns {1,2,5} in "66". The bigger the combination, the more efficient in memory/transmission, the less in calculation.
2007-01-17 06:32:43
http://php5.kiev.ua/manual/ru/function.array-product.html
Автор:
You can use array_product to calculate the factorial of n:
<?php
function factorial$n )
{
  if( 
$n $n 1;
  return 
array_productrange1$n ));
}
?>

If you need the factorial without having array_product available, here is one:
<?php
function factorial$n )
{
  if( 
$n $n 1;
  for( 
$p++; $n; ) $p *= $n--;
  return 
$p;
}
?>
2010-09-28 11:36:54
http://php5.kiev.ua/manual/ru/function.array-product.html
Автор:
array_product() can be used to implement a simple boolean AND search

<?php
$args 
= array('first_name'=>'Bill','last_name'=>'Buzzard');
$values[] = array('first_name'=>'Brenda','last_name'=>'Buzzard');
$values[] = array('first_name'=>'Victor','last_name'=>'Vulture');
$values[] = array('first_name'=>'Bill','last_name'=>'Blue Jay');
$values[] = array('first_name'=>'Bill','last_name'=>'Buzzard');

$result search_for($values,$args);
var_dump($result);exit;

function 
search_for($array,$args) {
   
$results = array();
    foreach (
$array as $row) {
       
$found false;
       
$hits = array();
        foreach (
$row as $k => $v) {
            if (
array_key_exists($k,$args)) $hits[$k] = ($args[$k] == $v);
        }

       
$found array_product($hits);
        if (!
in_array($row,$results) && true == $found$results[] = $row;
    }

    return 
$results;
}
?>

Output:

array (size=1)
  0 => 
    array (size=2)
      'first_name' => string 'Bill' (length=4)
      'last_name' => string 'Buzzard' (length=7)
2014-04-29 22:55:14
http://php5.kiev.ua/manual/ru/function.array-product.html
Here's how you can find a factorial of a any given number with help of range and array_product functions.

function factorial($num) {
    return array_product(range(1, $num));
}

printf("%d", factorial(5)); //120
2017-06-05 09:04:55
http://php5.kiev.ua/manual/ru/function.array-product.html
Автор:
You can use array_product() to calculate the geometric mean of an array of numbers: 

<?php
$a 
= [ 110100 ];
$geom_avg powarray_product$a ), count$a ));
// = 9.999999999999998 ≈ 10
?>
2022-10-31 01:21:38
http://php5.kiev.ua/manual/ru/function.array-product.html
Just a little correction for Andre D's answer: "(bool) array_product($array);" is equivalent with the conjunction of each array elements of $array, UNLESS the provided array is empty in which case array_product() will return 1, which will translate to boolean TRUE.

To mitigate this, you should expand the function with an additional check:

<?php

$result 
= !empty($check) && !!array_product($check);

?>
2023-03-20 17:38:32
http://php5.kiev.ua/manual/ru/function.array-product.html

    Поддержать сайт на родительском проекте КГБ