我目前正在尝试将两个变量放在一起,一个已经由imagesy
自动计算的特定数字,第二个变量是从$_GET['l2_y']
imagettfstroketext($jpg_image, 0, $y . $options['text']['font-position']['l2_y'] );
$ y返回'29'
并且$options['text']['font-position']['l2_y']
返回+150
(或我在标题中设置的任何内容)
我正在尝试将这两者结合起来,但它根本不起作用,如果我删除$y .
那么+150可以工作但是如果我添加了。它不算一切..
我已经坚持了一段时间了,我不知道如何将两者结合起来,我使用+标志的原因是因为它也可以用作-150
来改变文本的位置。
答案 0 :(得分:3)
您可以尝试使用intval
将这两个数字强制转换为整数,然后添加它们(使用+
而不是.
,这用于连接字符串):
intval($y) + intval($options['text']['font-position']['l2_y'])
这样你就可以确定在添加它们之前都是数字(这样可以避免任何不必要的结果)。
但是,如果您只是使用+
(添加)运算符而不是.
并置运算符,则将它们强制转换为整数并不是必需,如下所示以及:
echo '+2' + 3; // outputs 5
PHP会自动强制数字,intval
如果你想确定它是一个数字(通常当某人在你的网站上输入一个数字时),这是很有用的。
答案 1 :(得分:1)
您不应该使用.
运算符,这会将值连接起来,就好像它们是字符串一样。正确的方法是使用+
。
例如:imagettfstroketext($jpg_image, 0, $y + $options['text']['font-position']['l2_y'] );
假设$y
是一个数字而不是字符串。
使用您拥有的值,这将返回数字179,而使用.
运算符的版本将返回字符串,其中包含值"29150"
如果值不是数字且实际上是字符串,您还可以将每个变量封装在intval($var)
中,如果变量存在,它将采用变量的整数值。
答案 2 :(得分:1)
我认为这就是你所追求的:
imagettfstroketext($jpg_image, 0, intval($y) + intval($options['text']['font-position']['l2_y']));
.
用于字符串,+
用于数字。如果$y
和/或$options['text']['font-position']['l2_y']
是字符串(如果它们周围有引号则为它们),请将它们转换为intval()
的整数。 PHP会将+150
解释为150,将-150
解释为-150
答案 3 :(得分:0)
你去吧
<?php
$var1 = '1';
$var2 = '+1';
$var3 = '-1';
echo $var1+$var2;//2
echo $var1+$var3;//0
&GT;