如何在PHP中一起添加两个变量?

时间:2016-03-29 15:45:54

标签: php

我目前正在尝试将两个变量放在一起,一个已经由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来改变文本的位置。

4 个答案:

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