Types.php
Go to the documentation of this file.00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00029 class Types
00030 {
00037 function toString(&$var)
00038 {
00039 if (is_object($var)) {
00040 return Types::_objToString($var);
00041 } elseif (is_array($var)) {
00042 if (array_key_exists(0, $var) || count($var) == 0) {
00043 return Types::_arrayToString($var);
00044 } else {
00045 return Types::_hashToString($var);
00046 }
00047 } elseif (is_resource($var)) {
00048 return '#'.gettype($var).'#';
00049 }
00050 return $var;
00051 }
00052
00060 function _objToString(&$var)
00061 {
00062 if (method_exists($var, "toString")) {
00063 return $var->toString();
00064 } else {
00065 return '<' . get_class($var) . ' instance>';
00066 }
00067 }
00068
00075 function _arrayToString(&$var)
00076 {
00077 $values = array();
00078 foreach ($var as $val) {
00079 $values[] = Types::toString($val);
00080 }
00081 return '[' . join(', ', $values) . ']';
00082 }
00083
00090 function _hashToString(&$var)
00091 {
00092 $values = array();
00093 foreach ($var as $key=>$val) {
00094 $values[] = '\''. $key . '\': ' . Types::toString($val);
00095 }
00096 return '{' . join(', ', $values) . '}';
00097 }
00098 }
00099
00100 ?>
Generated on Tue Jun 29 23:40:07 2004 for Mediawiki by
1.3.7