minmod + Gestion de l'auto-typage à plusieurs niveaux possibles (Datbase::autotype(@data))
This commit is contained in:
parent
e8017fdd6a
commit
6d7b42b998
|
@ -164,6 +164,47 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* GESTION DE L'AUTO-TYPAGE D'UN TABLEAU A UN/PLUSIEURS NIVEAU(X) OU D'UNE VALEUR
|
||||||
|
*
|
||||||
|
* @data<mixed> Tableau de données/Valeur
|
||||||
|
*
|
||||||
|
* @return autoTyped<Array> Tableau/Valeur auto-typé(e)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static function autotype($data){
|
||||||
|
$autotyped = $data;
|
||||||
|
|
||||||
|
/* [0] Gestion des types simples
|
||||||
|
=========================================================*/
|
||||||
|
if( !is_array($autotyped) ){
|
||||||
|
|
||||||
|
/* (1) Si Numérique Entier -> INT */
|
||||||
|
if( is_numeric($autotyped) && intval($autotyped) == $autotyped )
|
||||||
|
return intval($autotyped);
|
||||||
|
|
||||||
|
/* (2) Si Numérique Décimal -> FLOAT */
|
||||||
|
else if( is_numeric($autotyped) && floatval($autotyped) == $autotyped )
|
||||||
|
return floatval($autotyped);
|
||||||
|
|
||||||
|
/* (3) Sinon on retourne la même chose */
|
||||||
|
else
|
||||||
|
return $autotyped;
|
||||||
|
|
||||||
|
/* [1] Gestion des types composés
|
||||||
|
=========================================================*/
|
||||||
|
}else{
|
||||||
|
|
||||||
|
// Pour chaque valeur, on applique récursivement
|
||||||
|
foreach($autotyped as $k=>$v)
|
||||||
|
$autotyped[$k] = self::autotype($v);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return $autotyped;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////
|
||||||
// _ __ _ _ _
|
// _ __ _ _ _
|
||||||
// __ _____ _ __(_)/ _(_) ___ __ _| |_(_) ___ _ __ ___
|
// __ _____ _ __(_)/ _(_) ___ __ _| |_(_) ___ _ __ ___
|
||||||
|
|
|
@ -337,14 +337,18 @@
|
||||||
|
|
||||||
|
|
||||||
debug();
|
debug();
|
||||||
$req = new Repo('machine_cluster/link', [
|
$int = '1';
|
||||||
7,
|
$flo1 = '1.2';
|
||||||
2,
|
$flo2 = '1,2';
|
||||||
3
|
$str = '1,s2';
|
||||||
]);
|
$arr = [$int, $flo1, $flo2, $str];
|
||||||
|
|
||||||
var_dump( $req->error );
|
|
||||||
var_dump( $req->answer() );
|
var_dump( Database::autotype($int) );
|
||||||
|
var_dump( Database::autotype($flo1) );
|
||||||
|
var_dump( Database::autotype($flo2) );
|
||||||
|
var_dump( Database::autotype($str) );
|
||||||
|
var_dump( Database::autotype($arr) );
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Reference in New Issue