使用php代码解析xml标签并转换成数组列表并且判断它如果没有available、unavailable、invalid这些参数的时候不要让他报错

2024-04-04 225 0

thinkphp

thinkphp

$xml = simplexml_load_string($xml_string);

$result = [];

// 遍历 available 部分
if (isset($xml->reply->available)) {
    foreach ($xml->reply->available->domain as $domain) {
        $result[] = [
            'domain' => (string) $domain,
            'price' => (float) $domain['price'],
            'premium' => (int) $domain['premium'],
            'duration' => (int) $domain['duration'],
        ];
    }
}

// 遍历 unavailable 部分
if (isset($xml->reply->unavailable)) {
    foreach ($xml->reply->unavailable->domain as $domain) {
        $result[] = [
            'domain' => (string) $domain,
            'available' => false,
        ];
    }
}

// 遍历 invalid 部分
if (isset($xml->reply->invalid)) {
    foreach ($xml->reply->invalid->domain as $domain) {
        $result[] = [
            'domain' => (string) $domain,
            'invalid' => true,
        ];
    }
}

print_r($result);

此代码将 XML 字符串解析为一个数组列表,其中每个元素都是一个数组,包含域、价格、是否为高级域、持续时间(如果存在)、是否不可用或是否无效(如果存在)的详细信息。

如果 XML 中没有 availableunavailable 或 invalid 部分,此代码不会报错,而是生成一个空数组。

    相关文章

    php 取当月有多少天 然后返回整数的方法
    php计算两个日期之间相隔的天数
    在 ThinkPHP8 中,选择使用 findOrEmpty() 还是 find() 取决于你对结果处理的需求
    php移除不需要的数组
    php获取用户操作系统
    PHP国家及地区代码数组

    发布评论