我不明白,真的...... 我正在创建一个图像:
header('Content-type: image/png');
imagepng($image);
需要使用foreach。 我希望你知道“imagettftext”是什么。
这是我的代码:
$position_text_array = array(26,44,62,80,98,116,134,152,170,188,206,224,242,260,278,296);
$position_text_array2 = array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
foreach ($position_text_array2 as $index => $value) {
foreach ($position_text_array as $index_p => $value_p) {
imagettftext($image, 10, 0, $position_text_width, $value_p, $color_item0, $font, $value);
}
}
在我的代码上,输出将在每个$ position_text_array2号码的每个OUTPUT行上。
屏幕截图:http://puu.sh/s3Z0X/9257124277.png
$position_text_array = Y Position
(向上,向下)。
$position_text_array2 = Thats what I want to output
。
-
但如果我改变
$color_item0, $font, $value);
到
$color_item0, $font, $value_p);
输出将在每一行,Y Kordination(仅1个数字)
屏幕截图:http://puu.sh/s40tC/06b7ba026c.png
抱歉我的英语不好,解释不好。 我希望你理解我的意思。
我做错了什么?
答案 0 :(得分:1)
你要嵌套两个循环。由于两个数组都有16个元素,因此您执行文本绘图调用16 * 16 = 256次。这意味着您将每行文本绘制16次,具有不同的值。
你应该只有一个SINGLE循环,并使用该循环中的索引来引用另一个数组。
foreach($position_text_array as $index => $text_to_draw) {
$y_pos = $position_text_array[$index];
imagettftext($image, 10, 0, $x_pos, $y_pos, $color_item0, $font, $text_to_draw);
}