You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP:如何判断变量含betrag并提取对应数值至新变量?

解决方法

直接处理SimpleXMLElement对象(推荐)

你的数据源是XML,PHP解析后通常返回SimpleXMLElement实例,没必要转成JSON再处理,直接操作属性和值更高效:

foreach ($yourXmlElements as $item) {
    // 读取name属性并转成字符串比较
    if ((string)$item['name'] === 'betrag') {
        // 获取节点的数值,按需转成字符串或浮点型
        $targetValue = (string)$item;
        // 若只需第一个匹配项,可添加break终止循环
        break;
    }
}

若已转为数组处理

如果已经通过json_decode(json_encode($item), true)把对象转成了关联数组,可按数组键名判断:

foreach ($yourArrayElements as $item) {
    // 先检查键是否存在,避免Undefined index报错
    if (isset($item['@attributes']['name']) && $item['@attributes']['name'] === 'betrag') {
        $targetValue = $item['0'];
        // 按需转成数值类型:$targetValue = (float)$item['0'];
        break;
    }
}

关键注意点

  • 类型转换:SimpleXMLElement的属性和节点值都是对象,必须用(string)强制转换后才能正确比较和赋值
  • 严格匹配:用===严格相等运算符,避免因类型自动转换导致的误匹配
  • 存在性检查:处理数组时先用isset()判断键是否存在,防止报错

内容的提问来源于stack exchange,提问作者itNGO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 21:57:15