php手冊上對Ticks解釋的一點理解

有這樣一段代碼

<?php 
declare(ticks=1);
function tick_handler()
{
	echo "d<br>";
}
register_tick_function('tick_handler');

$a ="中文";
print($a);
?>

實際上,上面的寫法與下面相同

<?php 
declare(ticks=1){
	function tick_handler()
	{
		echo "d<br>";
	}
	register_tick_function('tick_handler');
	
	$a ="中文";
	print($a);
}
?>

運行結果爲:

d
d
中文d
d



每一個ticks時鐘週期會調用一次tick_handler(),聲明tick_handler()函數時會調用一次,$a賦值時調用一次,print($a)後會調用一次,最後declare本身會調用一次


但是如果這樣


<?php 
function tick_handler(){
		echo "d<br>";
}
register_tick_function('tick_handler');
declare(ticks=1){
	$a ="中文";
	print($a);
}
?>


第一個d就不會被打印出來,但是功能還是會實現,也就是說,1、declare中不是必須聲明tick_handler;2、tick_handler的調用是從declare後開始的,並非從代碼第一行開始時算起

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章