PHP的变量只在页面执行时才有效,不知道你这样做的意义何在,
要想使变量一直有效,可以使用$_SESSION来保存变量
用JS赋值可采用xmlhttp的方法,见下例<?php
session_start();
if( !isset($_SESSION['time']) ) $_SESSION['time'] = 10;
if( isset($_GET['time']) ) {$_SESSION['time'] = $_GET['time'];exit;}
if( isset($_SESSION['time']) && $_SESSION['time'] <= 0 ) $_SESSION['time'] = 0;
?>
<body><div id="ice"></div></body>
<script type="text/javascript">
var num = <?=$_SESSION['time']?>;
var xml = document.all ? new ActiveXObject("Msxml2.XMLHTTP") : new XMLHttpRequest();
function timer()
{
if( num < 0 ) return;
var url = "index.php?time=" + num;
xml.open("get", url, false);
xml.send(null);
document.getElementById("ice").innerHTML = num;
num--;
tm = setTimeout( "timer()", 1000 );
}
timer();
</script>