admin/business/asset/weworkapi/utils/Utils.class.php

108 lines
2.5 KiB
PHP

<?php
include_once(__DIR__."/error.inc.php");
class Utils {
static public function notEmptyStr($var)
{
return is_string($var) && ($var != "");
}
static public function checkNotEmptyStr($var, $name)
{
if (!self::notEmptyStr($var))
throw new ParameterError($name . " can not be empty string");
}
static public function checkIsUInt($var, $name)
{
if (!(is_int($var) && $var >= 0))
throw new ParameterError($name . " need unsigned int");
}
static public function checkNotEmptyArray($var, $name)
{
if (!is_array($var) || count($var) == 0) {
throw new ParameterError($name . " can not be empty array");
}
}
static public function setIfNotNull($var, $name, &$args)
{
if (!is_null($var)) {
$args[$name] = $var;
}
}
static public function arrayGet($array, $key, $default=null)
{
if (array_key_exists($key, $array))
return $array[$key];
return $default;
}
/**
* 数组 转 对象
*
* @param array $arr 数组
* @return object
*/
function Array2Object($arr) {
if (gettype($arr) != 'array') {
return;
}
foreach ($arr as $k => $v) {
if (gettype($v) == 'array' || getType($v) == 'object') {
$arr[$k] = (object)self::Array2Object($v);
}
}
return (object)$arr;
}
/**
* 对象 转 数组
*
* @param object $obj 对象
* @return array
*/
function Object2Array($object) {
if (is_object($object) || is_array($object)) {
$array = array();
foreach ($object as $key => $value) {
if ($value == null) continue;
$array[$key] = self::Object2Array($value);
}
return $array;
}
else {
return $object;
}
}
//数组转XML
function Array2Xml($rootName, $arr)
{
$xml = "<".$rootName.">";
foreach ($arr as $key=>$val) {
if (is_numeric($val)) {
$xml.="<".$key.">".$val."</".$key.">";
} else {
$xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
}
}
$xml.="</".$rootName.">";
return $xml;
}
//将XML转为array
function Xml2Array($xml)
{
//禁止引用外部xml实体
libxml_disable_entity_loader(true);
$values = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
return $values;
}
} // class Utils