array_product

(PHP 5 >= 5.1.0)

array_productBir dizideki değerlerin çarpımını bulur

Açıklama

number array_product ( array $dizi )

array_product() işlevi bir dizideki değerlerin çarpımını döndürür.

Değiştirgeler

dizi

Dizi.

Dönen Değerler

Çarpımı bir tamsayı veya gerçek sayı olarak döndürür.

Örnekler

Örnek 1 - array_product() örneği

<?php

$a 
= array(2468);
echo 
"çarpım(a) = " array_product($a) . "\n";

?>

Yukarıdaki örneğin çıktısı:

çarpım(a) = 384

add a note add a note

User Contributed Notes 3 notes

up
3
Marcel G
3 years ago
You can use array_product to calculate the factorial of n:
<?php
function factorial( $n )
{
  if(
$n < 1 ) $n = 1;
  return
array_product( range( 1, $n ));
}
?>

If you need the factorial without having array_product available, here is one:
<?php
function factorial( $n )
{
  if(
$n < 1 ) $n = 1;
  for(
$p++; $n; ) $p *= $n--;
  return
$p;
}
?>
up
0
pqpqpq at wanadoo dot nl
7 years ago
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.
up
0
Andre D
7 years ago
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.
To Top