×
¥
查看详情
🔥 会员专享 文生文 其它

PHP条件语句生成器

👁️ 72 次查看
📅 Dec 10, 2025
💡 核心价值: 本提示词专为PHP开发者设计,能够根据具体业务条件生成精准、规范的PHP条件判断语句。通过系统化的条件分析和代码结构优化,确保生成的代码逻辑严谨、可读性强且符合PHP最佳实践。适用于用户权限验证、数据过滤、业务规则判断等多种Web开发场景,帮助开发者快速构建可靠的业务逻辑代码。

🎯 可自定义参数(3个)

业务条件
需要判断的具体业务条件描述
条件类型
条件判断的类型分类
预期行为
条件成立时的预期执行动作

🎨 效果示例

条件分析

  • 目标:当满足以下任一条件时,视为支付流程已完成,并展示订单详情、隐藏支付入口、标记为已支付:
    1. $order->status === 'paid' 且 $order->refund_status !== 'processing'
    2. $order->amount == 0 且 $user->phone_verified === true
  • 其他情况下:不视为已支付,隐藏订单详情,显示支付入口。
  • 风险点与处理:
    • 金额为浮点数可能出现精度问题,使用“== 0”语义的同时增加小阈值判断以更稳健。
    • refund_status 可能未设置,按“非 processing”处理以符合业务语义。
    • 严格比较布尔“phone_verified”确保仅在明确为 true 时生效。

代码实现

<?php
declare(strict_types=1);

/**
 * 依据业务条件计算页面可见性与支付状态
 * 变量约定:
 * - $order: 对象,包含 status, refund_status, amount
 * - $user:  对象,包含 phone_verified
 */

// 示例环境中假定 $order 与 $user 已被注入为对象

// 初始化视图状态
$visible           = true;   // 页面可见(根据业务通常订单页本身可见)
$isPaid            = false;  // 是否视为已支付
$showOrderDetails  = false;  // 是否展示订单详情
$showPaymentEntry  = true;   // 是否展示支付入口

// 预计算原子条件,降低嵌套复杂度
$isPaidAndNotRefunding = (
    isset($order->status) 
    && $order->status === 'paid'
) && (
    // refund_status 未设置时,视为“非 processing”
    !isset($order->refund_status) || $order->refund_status !== 'processing'
);

// 金额等于 0 的稳健判断(兼容字符串/浮点数)
$amountIsZero = isset($order->amount)
    && is_numeric($order->amount)
    && ( (float)$order->amount == 0.0 || abs((float)$order->amount) < 0.00001 );

$phoneVerified = isset($user->phone_verified) && $user->phone_verified === true;

// 复合条件:满足其一即完成支付流程
$completedPaymentFlow = $isPaidAndNotRefunding || ($amountIsZero && $phoneVerified);

// 主条件分支
if ($completedPaymentFlow) {
    $isPaid           = true;
    $showOrderDetails = true;
    $showPaymentEntry = false;
} else {
    $isPaid           = false;
    $showOrderDetails = false;
    $showPaymentEntry = true;
}

// 汇总返回(可用于模板渲染或接口返回)
$viewState = [
    'visible'          => $visible,
    'isPaid'           => $isPaid,
    'showOrderDetails' => $showOrderDetails,
    'showPaymentEntry' => $showPaymentEntry,
];

// 如需输出检查
// var_export($viewState);

逻辑说明

  • isPaidAndNotRefunding:
    • 严格要求订单状态为 paid,同时退款状态不是 processing(未设置时按非 processing 处理)。
  • amountIsZero:
    • 金额存在且为数值,并判等 0;为避免浮点误差,补充了一个极小阈值比较。
  • phoneVerified:
    • 严格为布尔 true 才视为已验证。
  • completedPaymentFlow:
    • 任一条件成立,即认为支付流程完成:要么“已支付且未处于退款处理中”,要么“免单(金额为 0)且手机号已验证”。
  • if-else:
    • 完成支付流程时:标记为已支付、显示订单详情、隐藏支付入口。
    • 其余情况:未支付、隐藏订单详情、显示支付入口。
  • 返回 viewState 结构,便于前端模板或 API 使用。

使用示例

<?php
declare(strict_types=1);

// 示例1:已支付且不在退款处理中
$order = (object)[
    'status'        => 'paid',
    'refund_status' => 'none',
    'amount'        => 99.00,
];
$user = (object)[
    'phone_verified' => false,
];

include 'logic.php'; // 假设上述逻辑代码在此文件中

var_export($viewState);
// 预期输出:
// array (
//   'visible' => true,
//   'isPaid' => true,
//   'showOrderDetails' => true,
//   'showPaymentEntry' => false,
// )

// 示例2:免单且手机号已验证
$order = (object)[
    'status'        => 'pending',
    'refund_status' => null,
    'amount'        => 0,
];
$user = (object)[
    'phone_verified' => true,
];

include 'logic.php';

var_export($viewState);
// 预期输出:
// array (
//   'visible' => true,
//   'isPaid' => true,
//   'showOrderDetails' => true,
//   'showPaymentEntry' => false,
// )

// 示例3:未支付或退款处理中
$order = (object)[
    'status'        => 'paid',
    'refund_status' => 'processing',
    'amount'        => 99.00,
];
$user = (object)[
    'phone_verified' => true,
];

include 'logic.php';

var_export($viewState);
// 预期输出:
// array (
//   'visible' => true,
//   'isPaid' => false,
//   'showOrderDetails' => false,
//   'showPaymentEntry' => true,
// )

注意事项

  • 请确保 $order 和 $user 为对象且包含所需字段;若来自外部输入,需先做类型与存在性校验。
  • 若金额在系统内以“分”为最小单位(整数存储),建议改为严格整型比较:((int)$order->amount === 0) 更稳妥。
  • refund_status 建议限定枚举值(如 none/processing/success/failed),避免字符串散乱导致判断失效。
  • 如果存在并发状态更新(支付与退款同时发生),需在服务端以事务/乐观锁保证状态一致性,再由此条件做展示控制。
  • 如需国际化或审计,请在完成支付流程时记录原因(例如通过追加 reason 字段或事件日志)。

条件分析

  • 需要在商品对象上进行数值类条件判断:
    • 价格在 99 到 499 之间(包含边界)
    • 库存大于 0(严格正数)
    • 折扣百分比小于等于 30
  • 预期行为:
    • 条件满足时返回 true,并将商品标记为可展示(用于列表渲染与分页)
    • 当数据类型不合法或条件不满足时,返回 false,并标记为不可展示
  • 假设:
    • $product 为对象,且包含 price、stock、discount_percent 属性
    • 折扣单位为百分比(例如 30 表示 30%)

代码实现

<?php
declare(strict_types=1);

/**
 * 判断商品是否符合列表展示条件。
 *
 * 规则:
 * - price 在 [99, 499] 区间内(含边界)
 * - stock > 0
 * - discount_percent <= 30
 *
 * 返回:
 * - 满足条件:返回 true,并设置 $product->is_displayable = true
 * - 不满足或数据非法:返回 false,并设置 $product->is_displayable = false
 *
 * @param object $product 期望包含 price, stock, discount_percent 属性
 * @return bool
 */
function isProductDisplayable(object $product): bool
{
    // 属性存在性校验
    foreach (['price', 'stock', 'discount_percent'] as $prop) {
        if (!property_exists($product, $prop)) {
            // 缺少必要属性,视为不可展示
            $product->is_displayable = false;
            return false;
        }
    }

    // 数值规范化与合法性校验(避免字符串或非数值导致比较异常)
    $price    = is_numeric($product->price) ? (float)$product->price : null;
    $stock    = is_numeric($product->stock) ? (int)$product->stock : null;
    $discount = is_numeric($product->discount_percent) ? (float)$product->discount_percent : null;

    if ($price === null || $stock === null || $discount === null) {
        // 任一字段非数值,视为不可展示
        $product->is_displayable = false;
        return false;
    }

    // 业务条件判断(包含边界的区间判断 + 库存正数 + 折扣上限)
    if ($price >= 99.0 && $price <= 499.0 && $stock > 0 && $discount <= 30.0) {
        $product->is_displayable = true;
        return true;
    } else {
        $product->is_displayable = false;
        return false;
    }
}

逻辑说明

  • 首先确保对象包含必要属性,缺失即返回不可展示
  • 将 price、stock、discount_percent 转为数值类型,避免字符串或非法值导致比较错误
  • 核心条件采用单层 if 组合判断,避免多层嵌套:
    • 价格区间为闭区间 [99, 499]
    • 库存必须大于 0
    • 折扣百分比不超过 30
  • 根据条件结果:
    • 满足:返回 true,并设置 is_displayable = true
    • 不满足:返回 false,并设置 is_displayable = false

使用示例

<?php
// 示例商品数据
$productA = (object)[
    'price' => '199',          // 字符串数值也可
    'stock' => 10,
    'discount_percent' => 25
];

$productB = (object)[
    'price' => 500,            // 超出上限
    'stock' => 5,
    'discount_percent' => 10
];

$resultA = isProductDisplayable($productA); // 预期:true
$resultB = isProductDisplayable($productB); // 预期:false

var_dump($resultA, $productA->is_displayable); // bool(true), true
var_dump($resultB, $productB->is_displayable); // bool(false), false

注意事项

  • 折扣单位:本实现假设 discount_percent 为 0-100 的百分比值(如 30 表示 30%)。如果实际传入是小数(如 0.3 表示 30%),请将判断改为 $discount <= 0.30。
  • 边界值:价格边界包含 99 和 499;库存必须严格大于 0。
  • 数据合法性:为避免逻辑漏洞,对非数值输入直接判为不可展示;如需更宽松策略,可在入参阶段进行数据清洗。
  • 可维护性:将条件封装为函数,保持单一职责;若后续业务变更(比如调整价格区间或折扣上限),只需修改函数内常量或配置。
  • 类型安全:启用 strict_types,并进行显式类型转换,提升比较的稳定性与可预期性。

示例详情

📖 如何使用

30秒出活:复制 → 粘贴 → 搞定
与其花几十分钟和AI聊天、试错,不如直接复制这些经过千人验证的模板,修改几个 {{变量}} 就能立刻获得专业级输出。省下来的时间,足够你轻松享受两杯咖啡!
加载中...
💬 不会填参数?让 AI 反过来问你
不确定变量该填什么?一键转为对话模式,AI 会像资深顾问一样逐步引导你,问几个问题就能自动生成完美匹配你需求的定制结果。零门槛,开口就行。
转为对话模式
🚀 告别复制粘贴,Chat 里直接调用
无需切换,输入 / 唤醒 8000+ 专家级提示词。 插件将全站提示词库深度集成于 Chat 输入框。基于当前对话语境,系统智能推荐最契合的 Prompt 并自动完成参数化,让海量资源触手可及,从此彻底告别"手动搬运"。
即将推出
🔌 接口一调,提示词自己会进化
手动跑一次还行,跑一百次呢?通过 API 接口动态注入变量,接入批量评价引擎,让程序自动迭代出更高质量的提示词方案。Prompt 会自己进化,你只管收结果。
发布 API
🤖 一键变成你的专属 Agent 应用
不想每次都配参数?把这条提示词直接发布成独立 Agent,内嵌图片生成、参数优化等工具,分享链接就能用。给团队或客户一个"开箱即用"的完整方案。
创建 Agent

✅ 特性总结

一键把业务语句转成严谨PHP条件判断,免去手写分支细节,逻辑可直接上线
自动拆解复杂规则为清晰if/elseif结构,并配注释与命名,团队一看就懂
内置权限校验、表单过滤、支付状态等模板,按需填空即可生成可复用代码
智能规避空值比较、类型混用与遗漏分支,边界情况自动补全更安心
根据业务优先级优化分支顺序与早返回,提升可读性与运行效率
支持参数化与场景保存,常用规则一键调用,跨项目快速复用
生成调用示例与预期结果说明,缩短联调、评审与走查时间
附带注意事项与最佳实践清单,降低后期维护与回归风险
兼顾不同PHP版本习惯与语法差异,确保在目标环境平稳运行
可选输出异常处理与日志提示,上线出错更易定位与回溯

🎯 解决的问题

将口语化的业务规则快速转化为高质量的PHP条件语句;覆盖边界与异常分支,降低遗漏风险;统一团队风格与规范,提升代码评审与联调效率;提供“条件分析—代码实现—逻辑说明—使用示例—注意事项”的闭环产出,拿来即用;支持权限校验、数据过滤、支付与订单状态、内容展示控制等高频场景;帮助新人快速形成正确的第一版,资深开发者高效批量生成稳定逻辑,整体缩短交付周期并减少返工。

🕒 版本历史

当前版本
v2.1 2024-01-15
优化输出结构,增强情节连贯性
  • ✨ 新增章节节奏控制参数
  • 🔧 优化人物关系描述逻辑
  • 📝 改进主题深化引导语
  • 🎯 增强情节转折点设计
v2.0 2023-12-20
重构提示词架构,提升生成质量
  • 🚀 全新的提示词结构设计
  • 📊 增加输出格式化选项
  • 💡 优化角色塑造引导
v1.5 2023-11-10
修复已知问题,提升稳定性
  • 🐛 修复长文本处理bug
  • ⚡ 提升响应速度
v1.0 2023-10-01
首次发布
  • 🎉 初始版本上线
COMING SOON
版本历史追踪,即将启航
记录每一次提示词的进化与升级,敬请期待。

💬 用户评价

4.8
⭐⭐⭐⭐⭐
基于 28 条评价
5星
85%
4星
12%
3星
3%
👤
电商运营 - 张先生
⭐⭐⭐⭐⭐ 2025-01-15
双十一用这个提示词生成了20多张海报,效果非常好!点击率提升了35%,节省了大量设计时间。参数调整很灵活,能快速适配不同节日。
效果好 节省时间
👤
品牌设计师 - 李女士
⭐⭐⭐⭐⭐ 2025-01-10
作为设计师,这个提示词帮我快速生成创意方向,大大提升了工作效率。生成的海报氛围感很强,稍作调整就能直接使用。
创意好 专业
COMING SOON
用户评价与反馈系统,即将上线
倾听真实反馈,在这里留下您的使用心得,敬请期待。
加载中...
📋
提示词复制
在当前页面填写参数后直接复制: