【问题标题】:Increase Integer in SimpleXML XPath variable doesn't work在 SimpleXML XPath 变量中增加整数不起作用
【发布时间】:2014-12-18 20:04:03
【问题描述】:

我正在创建一个 PDF-View-Counter。

现在我一直在更改 XML 中的“视图”值。当我尝试对变量 ($VAR++) 求和时,它不起作用。我该怎么办?

<?php

$datei = "pdf.pdf";

$xmldb = "db.xml";

$id = md5($datei);

$xml = simplexml_load_file($xmldb);

$views = $xml->xpath('/data/count[@id="'.$id.'"]/views');

$num = $views[0][0];

$num++;

echo $num; // it doesn't work 

XML-代码:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <count id="883c7046854e04138c55680ffde90a61">
        <filename>s</filename>
        <views>1</views>
        <lastview>f</lastview>
    </count>
</data>

【问题讨论】:

  • 它不起作用:单独这样问不是一个好方法:告诉你期望什么(也许是为什么),然后告诉你会发生什么。那么当你写“它不起作用”时,你的意思就很清楚了。否则不清楚,阅读您的问题的人需要猜对。

标签: php xml xpath simplexml


【解决方案1】:

我猜你必须将结果对象转换为整数。

据我所知SimpleXML-&gt;xpath() 总是返回一个包含零个或多个 SimpleXMLElement 对象的数组。

$num = (int) $views[0];
$num++;

【讨论】:

  • 替代方案:将整数值分配为新元素文本:$num = $views[0][0]; $num[0] = 1 + $num;。重要的部分是++(增量运算符)适用于具有__toString()(如SimpleXMLElement)的对象。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-16
  • 2012-01-31
  • 1970-01-01
  • 2015-12-07
  • 2022-06-13
  • 2014-12-17
相关资源
最近更新 更多