我知道仅在php5.3及更高版本中支持匿名函数。
但是由于一些困难的情况,我必须在php 5.2中使用下面的代码
任何人都可以帮我转换它在php 5.2中工作
=============================================== =====
$fn = function($points) use ($pdf) {
$op = 'f';
$h = $pdf->h;
$k = $pdf->k;
$points_string = '';
for($i=0; $i < 8; $i+=2){
$points_string .= sprintf('%.2F %.2F', $points[$i]*$k,($h-$points[$i+1])*$k);
$points_string .= $i ? ' l ' : ' m ';
}
$pdf->_out($points_string . $op);
};
=============================================== =====
完整的代码可在
获得我现在已经尝试了几个小时的create_function,但不知何故可以让它工作。
请帮我改编一下php5.2
另外如何复制php5.2中使用的功能
即如何将$ pdf传递给create_function
答案 0 :(得分:0)
刚刚将变量作为参数发送:
function fn($points, $pdf) {
$op = 'f';
$h = $pdf->h;
$k = $pdf->k;
$points_string = '';
for($i=0; $i < 8; $i+=2){
$points_string .= sprintf('%.2F %.2F', $points[$i]*$k,($h-$points[$i+1])*$k);
$points_string .= $i ? ' l ' : ' m ';
}
$pdf->_out($points_string . $op);\
};
答案 1 :(得分:0)
function whatever($points, $pdf) {
$op = 'f';
$h = $pdf->h;
$k = $pdf->k;
$points_string = '';
for($i=0; $i < 8; $i+=2){
$points_string .= sprintf('%.2F %.2F', $points[$i]*$k,($h-$points[$i+1])*$k);
$points_string .= $i ? ' l ' : ' m ';
}
$pdf->_out($points_string . $op);
};
并称之为:
// your code
$pdf = new PdfLibraryThing();
whatever(array('thing'=>'foo','what'=>'stuff'), $pdf);