全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 467|回复: 8

[疑问] 请教一个PHP判断的逻辑问题

[复制链接]
发表于 2024-4-14 08:51:21 | 显示全部楼层 |阅读模式


我有三个自定义函数,分别是使用不同的api接口,现在想法是,判断每个接口的信息,当第一个接口中没有包含指定的信息,就执行第二个函数,如果第二个函数返回信息中也没有指定内容,就执行第三个函数。

这三个函数每个函数每运行一次,就会在平台后台扣一次量,所以不能同时执行。

现在我有点迷糊,在 if elseif else的时候不能谁确的判断这些逻辑,请教各位大佬指点,谢谢了。

function get_ip_address($ip = "")
{
    if ( $ip == "" ){
        $ip = get_ip(); /* 获取当前浏览用户地址,显示的是纯ip地址格式   */
    }
    $ic = curl_ip_aliyun();
    if (stripos($ic,$ip,0) !== false) {
        $i = $ic;
    } elseif ($ic == "") {
        $ic = curl_ip_ip138();
    }else{
        $ic = curl_ip_juhe();
    }
}


发表于 2024-4-14 09:37:37 | 显示全部楼层
我很好奇,是什么原因会让你把“准确”打成“谁确” ??
难道还有人在用五笔嘛

发表于 2024-4-14 09:39:16 | 显示全部楼层
CHATGPT的回复,你自己看看吧:
在这种情况下,你可以使用嵌套的条件语句来实现你的逻辑。以下是你可以尝试的一种方法:

php

function get_ip_address($ip = "")
{
    if ($ip == "") {
        $ip = get_ip(); /* 获取当前浏览用户地址,显示的是纯ip地址格式   */
    }

    // 默认情况下,初始化信息为空
    $result = "";

    // 调用第一个函数
    $ic = curl_ip_aliyun();
    if (stripos($ic, $ip, 0) !== false) {
        $result = $ic;
    } else {
        // 如果第一个函数没有找到指定内容,调用第二个函数
        $ic = curl_ip_ip138();
        if (stripos($ic, $ip, 0) !== false) {
            $result = $ic;
        } else {
            // 如果第二个函数也没有找到指定内容,调用第三个函数
            $ic = curl_ip_juhe();
            $result = $ic; // 或者你可以根据第三个函数的返回值来决定是否将其赋给$result
        }
    }

    // 返回最终结果
    return $result;
}

在这个示例中,我使用了嵌套的 if else 语句来逐步判断每个函数的返回结果,并根据情况选择是否执行下一个函数。这样做可以确保只有在前一个函数未找到指定内容时才会执行后续的函数。
 楼主| 发表于 2024-4-14 10:12:25 | 显示全部楼层
yrj 发表于 2024-4-14 09:37
我很好奇,是什么原因会让你把“准确”打成“谁确” ??
难道还有人在用五笔嘛

是还在用五笔
发表于 2024-4-14 10:15:30 | 显示全部楼层
上面解释的不错。此贴终结
 楼主| 发表于 2024-4-14 10:17:11 | 显示全部楼层
hbc 发表于 2024-4-14 09:39
CHATGPT的回复,你自己看看吧:
在这种情况下,你可以使用嵌套的条件语句来实现你的逻辑。以下是你可以尝试 ...

谢谢您了
发表于 2024-4-14 10:22:13 | 显示全部楼层
yrj 发表于 2024-4-14 09:37
我很好奇,是什么原因会让你把“准确”打成“谁确” ??
难道还有人在用五笔嘛

五笔现在很落后了吗
发表于 2024-4-14 10:22:34 | 显示全部楼层
最后改else改elseif条件(和上面那个一样)
 楼主| 发表于 昨天 13:25 | 显示全部楼层
acpp 发表于 2024-4-14 10:22
最后改else改elseif条件(和上面那个一样)

谢谢您的回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-30 04:23 , Processed in 0.060987 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表