Fonctions sur les tableaux

L’analyse de donnée est un point essentiel dans l’informatique.

Mais tous les développeurs ne sont pas data-scientist !

Pour certains d’entre eux il peut se révéler difficile de trouver et de construire des indicateurs pertinents.

Pourtant, la moyenne et l’écart-type nous donne une image assez concrète d’une distribution de données.

Et nous allons voir comment construire des fonctions nous renseignant sur la moyenne et l’écart-type.

Le calcul de la moyenne est très trivial, mais pour calculer l’écart-type, il faut tout d’abord calculer la variance.

Pour rappel, l’écart-type est la moyenne de la distance entre les points d’une distribution, et la moyenne de cette même distribution. Cela permet de savoir si tous les points sont regroupés autour de la valeur moyenne, ou dispersés.

Voici les nos fonctions (functionArray.php):

<?php

function averageArray(array $tab) : float
{
    if (empty($tab)) {
        throw new Exception("Le tableau est vide");
    }

    $sum = 0;

    try {
        for ($i = 0; $i < count($tab); $i++) {
            $sum += $tab[$i];
        }

        return number_format($sum/count($tab), 2);
    } catch (Exception $e) {
        echo $e->getMessage();
    }
}

function varianceArray(array $tab) : float
{
    if (empty($tab)) {
        throw new Exception("Le tableau est vide");
    }

    $sum = 0;
    
    try {
        $average = averageArray($tab);
        for ($i = 0; $i < count($tab); $i++) {
            $sum += pow($tab[$i] - $average, 2);
        }

        return number_format($sum/count($tab), 2);
    } catch (Exception $e) {
        echo $e->getMessage();
    }
}

function stdArray(array $tab) : float
{
    if (empty($tab)) {
        throw new Exception("Le tableau est vide");
    }
    
    try {
        $variance = varianceArray($tab);

        return number_format(sqrt($variance));
    } catch (Exception $e) {
        echo $e->getMessage();
    }
}

function displayTab(array $tab) : string
{
    if (empty($tab)) {
        throw new Exception("Le tableau est vide");
    }

    $temp_str = "";

    try {
        for ($i = 0; $i < count($tab); $i++) {
            $temp_str .= "[". ($i+1). "] : $tab[$i] <br/>";
        }

        return $temp_str;
    } catch (Exception $e) {
        echo $e->getMessage();
    }
}

Maintenant voyons l’utilisation de nos fonctions pour obtenir les informations d’une distribution  (index.php):

<?php
require_once 'functionsArray.php';

$temp = [];
$min = 10;
$max = 45;
for ($i = 0; $i < 10; $i++) {
    $temp[$i] = rand($min, $max);
}

echo displayTab($temp);
echo "<hr/>";
echo "Moyenne : ".averageArray($temp)." <br/>";
echo "Ecart-type : ".stdArray($temp)." <br/>";
echo "<hr/>";

Voici un exemple du résultat :

SMARTFUL

Publié dans PHP

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *