PHP foreach Loop(imagepng)位置对偶

时间:2016-11-02 14:19:11

标签: php foreach

我不明白,真的...... 我正在创建一个图像:

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

抱歉我的英语不好,解释不好。 我希望你理解我的意思。

我做错了什么?

1 个答案:

答案 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);
}