如何在php中的闭包函数中使用变量?
How to use variable in closure functions in php?
我正在对 php 进行干预以进行图像处理。
是否可以通过这样的变量将字体大小和颜色应用于文本?
我已经计算了上面的 $fontsize 和 $color 但它说未定义的变量
$img->text($string, $item['x'], $top, function($font) {
$font->file('assets/fonts/Roboto-Medium.ttf');
$font->size($fontsize);
$font->color($color);
$font->align('left');
$font->valign('top');
});
您需要使用以下语法来传递变量:
这里需要用到一个use()
方法
$img->text($string, $item['x'], $top, function() use($font){
$font->file('assets/fonts/Roboto-Medium.ttf');
$font->size($fontsize);
$font->color($color);
$font->align('left');
$font->valign('top');
});
编辑
此处 $font
必须是 Class object
,因为它在 callback
函数中使用。如果您只想要数组,请按以下方式进行:
$font = []; // initialize array
$img->text($string, $item['x'], $top, function() use($font){
$font['file'] = 'assets/fonts/Roboto-Medium.ttf';
$font['size'] = $fontsize;
$font['color'] = $color;
$font['align'] = 'left';
$font['valign'] = 'top';
});
我正在对 php 进行干预以进行图像处理。 是否可以通过这样的变量将字体大小和颜色应用于文本? 我已经计算了上面的 $fontsize 和 $color 但它说未定义的变量
$img->text($string, $item['x'], $top, function($font) {
$font->file('assets/fonts/Roboto-Medium.ttf');
$font->size($fontsize);
$font->color($color);
$font->align('left');
$font->valign('top');
});
您需要使用以下语法来传递变量:
这里需要用到一个use()
方法
$img->text($string, $item['x'], $top, function() use($font){
$font->file('assets/fonts/Roboto-Medium.ttf');
$font->size($fontsize);
$font->color($color);
$font->align('left');
$font->valign('top');
});
编辑
此处 $font
必须是 Class object
,因为它在 callback
函数中使用。如果您只想要数组,请按以下方式进行:
$font = []; // initialize array
$img->text($string, $item['x'], $top, function() use($font){
$font['file'] = 'assets/fonts/Roboto-Medium.ttf';
$font['size'] = $fontsize;
$font['color'] = $color;
$font['align'] = 'left';
$font['valign'] = 'top';
});