add clear

This commit is contained in:
2022-09-09 16:42:55 +08:00
parent ad76b45b45
commit 7273fe1ce5
63 changed files with 2625 additions and 5287 deletions
+25 -47
View File
@@ -4,14 +4,14 @@
namespace wchat\common;
class Help extends Miniprogarampage
class Help extends Multiprogramming
{
/**
* @param array $data
* @return string
*/
public static function toXml(array $data)
public static function toXml(array $data): string
{
$xml = "<xml>";
foreach ($data as $key => $val) {
@@ -34,7 +34,7 @@ class Help extends Miniprogarampage
* @param array $array
* @return string
*/
private static function xmlChild(array $array)
private static function xmlChild(array $array): string
{
$string = '';
foreach ($array as $key => $value) {
@@ -55,67 +55,45 @@ class Help extends Miniprogarampage
/**
* @param $xml
* @return mixed
* @return array|null
*/
public static function toArray($xml)
public static function toArray($xml): ?array
{
if (is_array($xml)) {
return $xml;
}
/* $matchQoute = '/(<\?xml.*?\?>)?<([a-zA-Z_]+)>(<([a-zA-Z_]+)><!.*?><\/\4>)+<\/\2>/';*/
// if (!preg_match($matchQoute, $xml)) {
// return self::jsonToArray($xml);
// }
if (!is_null($data = json_decode($xml, true))) {
return $data;
}
try {
$data = @simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
if ($data !== false) {
$data = json_decode(json_encode($data), TRUE);
} else {
$data = $xml;
}
} catch (\Exception $exception) {
$data = $xml;
} finally {
return $data;
if (is_array($xml)) return $xml;
if (str_starts_with('<', $xml) && str_ends_with('>', $xml)) {
return self::xmlToArray($xml);
} else {
return self::jsonToArray($xml);
}
}
public static function jsonToArray($xml)
/**
* @param string $xml
* @return array|null
*/
public static function jsonToArray(string $xml): ?array
{
$_xml = json_decode($xml, true);
if (is_null($_xml)) {
return $xml;
}
return $_xml;
return json_decode($xml, true);
}
/**
* @param $xml
* @return mixed
* @param string $xml
* @return array|null
*/
public static function xmlToArray($xml)
public static function xmlToArray(string $xml): ?array
{
if (is_array($xml)) {
return $xml;
}
if (($data = @simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)) !== false) {
return json_decode(json_encode($data), TRUE);
}
if (!is_null($json = json_decode($xml, TRUE))) {
return $json;
}
return $xml;
return null;
}
/**
* @param mixed $json
* @return false|mixed|string
* @return string
*/
public static function toJson($json)
public static function toJson(mixed $json): string
{
if (is_object($json)) {
$json = get_object_vars($json);
@@ -141,7 +119,7 @@ class Help extends Miniprogarampage
*
* 随机字符串
*/
public static function random($length = 20)
public static function random(int $length = 20): string
{
$res = [];
$str = 'abcdefghijklmnopqrstuvwxyz';
@@ -151,7 +129,7 @@ class Help extends Miniprogarampage
if (empty($rand)) {
$rand = substr($str, strlen($str) - 3, 1);
}
array_push($res, $rand);
$res[] = $rand;
}
return implode($res);
@@ -163,7 +141,7 @@ class Help extends Miniprogarampage
* @param $type
* @return string
*/
public static function sign(array $array, $key, $type)
public static function sign(array $array, $key, $type): string
{
ksort($array);
$buff = "";