Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Konvertiert ein Array in einen Integerwert.
- * Dazu werden alle Elemente des Arrays in einen Integerwert konvertiert und
- * aufeinanderaddiert.
- */
- function array2int( $arr ) {
- $integer = 0;
- for( $i=0, $max=count( $arr ); $i<$max; $i++ ) {
- $cur = $arr[$i];
- $type = gettype( $cur );
- switch( $type ) {
- case 'integer':
- break;
- case 'double':
- $cur = intval( $cur );
- break;
- case 'string':
- $cur = str2int( $cur );
- break;
- case 'array':
- $cur = array2int( $cur );
- break;
- case 'object':
- $cur = object2int( $cur );
- break;
- default:
- $cur = intval( $cur );
- break;
- }
- $integer += $cur;
- }
- return( $integer );
- }
- /**
- * Konvertiert einen String in einen Integerwert.
- * Dazu werden die ASCII-Codes aller einzelnen Zeichen aufeinanderaddiert.
- */
- function str2int( $str ) {
- $integer = 0;
- for( $i=0, $max=strlen( $str ); $i<$max; $i++ ) {
- $integer += ord( $str{$i} );
- }
- return( abs( $integer ) );
- }
- /**
- * Konvertiert ein Object in einen Integerwert.
- * Dazu werden die öffentlichen Methoden mithilfe der Funktion array2int in einen
- * Integerwert gewandelt und zusätzlich der Name der Klasse (nur Kleinbuchstaben) mit der Funktion str2int
- * aufaddiert.
- */
- function object2int( $obj ) {
- return( array2int( get_object_vars( $obj ) ) + str2int( strtolower( get_class( $obj ) ) ) );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement