QUOTE:
原帖由 刀鱼 于 2006-8-28 01:03 PM 发表
"smarty传过来的是一个数组,你需要用extract一下.这时在使用这个值."
个人觉得这句话有问题,没用过这个东西,上面的的内容也没看太懂,高手能否举个小例子说下...谢谢
$smarty->register_function("date_now", "print_current_date");
function print_current_date ($params) {
extract($params);
if(empty($format))
$format="%b %e, %Y";
echo strftime($format,time());
}
/*
extract -- 从数组中将变量导入到当前的符号表
说明
int extract ( array var_array [, int extract_type [, string prefix]])
本函数用来将变量从数组中导入到当前的符号表中。接受结合数组 var_array 作为参数并将键名当作变量名,值作为变量的值。对每个键/值对都会在当前的符号表中建立变量,并受到 extract_type 和 prefix 参数的影响。
* 假定 $var_array 是 wddx_deserialize 返回的数组*/
$size = "large";
$var_array = array ("color" => "blue",
"size" => "medium",
"shape" => "sphere");
extract ($var_array, EXTR_PREFIX_SAME, "wddx");
print "$color, $size, $shape, $wddx_sizen";
例子 1. extract() 例子
<?php
/* 假定 $var_array 是 wddx_deserialize 返回的数组*/
$size = "large";
$var_array = array ("color" => "blue",
"size" => "medium",
"shape" => "sphere");
extract ($var_array, EXTR_PREFIX_SAME, "wddx");
print "$color, $size, $shape, $wddx_sizen";
?>
以上例子将产生:
blue, large, sphere, medium
*/