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>

スコア[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はvoidに戻ります。

試す:

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