2
<?php 
$picid= $_GET['id']; 
intval($picid);
$file="data.xml";
echo $picid; //output is 121 (say)
$data= new SimpleXMLElement($file, null, true);
$data->score[$picid]=$data->score[$picid]+3;
file_put_contents($file, $data->asXML());
?>

xml 文件更改为

<score 121="3">0</score>

在 score[0] 标签上。

而我想要输出

<score>3</score>

在 score[121] 标签上。

但是当我将代码更改为

<?php 
$picid= $_GET['id']; 
intval($picid);
$file="data.xml";
echo $picid; //121 is printed (say)
$data= new SimpleXMLElement($file, null, true);
$data->score[121]=$data->score[121]+3;
echo $data->score[121];
file_put_contents($file, $data->asXML());
?>

我得到了想要的输出。为什么?

4

1 回答 1

2

你的 intval 返回无效。

尝试:

$picid = intval($picid);
于 2013-02-26T23:15:49.073 回答