2016-03-29 22 views
-1

我正在試圖把兩個變量一起,一個已被imagesy自動計算出來,第二個變量是從網址與$_GET['l2_y']如何在PHP中添加兩個變量?

imagettfstroketext($jpg_image, 0, $y . $options['text']['font-position']['l2_y']); 

的$ Y返回'29'

返回數據的具體數量

$options['text']['font-position']['l2_y']回報+150(或不管我在報頭中設置)

我試圖將兩者結合起來,但它不工作,如果我刪除了$y .那麼+150 WO但如果我添加。它不計算一切..

我一直停留在這個有一段時間了,我不知道如何將兩者結合起來,我使用+跡象得到的原因是因爲它也可以是用作-150改變文本的位置。

+1

結合起來就是把兩個數字加起來? – somethinghere

+0

@somethinghere是的! – iBrazilian2

+1

如何像intval($ y)+ intval($ options ['text'] ['font-position'] ['l2_y'])'強制兩個數字(現在可能是字符串),然後簡單使用數學(而不是'''連接)? – somethinghere

回答

2

你可以嘗試兩個數字強制使用intval整數,然後(使用+而不是.,這是用於連接字符串)添加它們:

intval($y) + intval($options['text']['font-position']['l2_y']) 

這樣,你肯定都是數字,您添加它們之前(使您避免不必要的結果)。

然而,這是不是必要強迫他們整數,如果你簡單地使用+(添加)運營商,而不是.連接運算符,如下面的作品,以及:

echo '+2' + 3; // outputs 5 

PHP自動強制編號,intval如果你想確定它是一個數字(通常當有人向你的網站輸入數字時)很有用。

1

在這裏你去

<?php 
    $var1 = '1'; 
    $var2 = '+1'; 
    $var3 = '-1'; 


    echo $var1+$var2;//2 
    echo $var1+$var3;//0 

?>

+1

爲什麼OP應該這樣做?一個好的答案***將總是解釋所做的事情以及爲什麼這樣做,不僅是爲了OP,還是爲了將來訪問SO。 –

+0

你是對的,但我認爲在這裏很容易理解..這裏的代碼解釋自己...如果你試圖解釋一些簡單的事情,我認爲它會看起來很複雜 –

+1

也許是這樣 - 但許多新手不會看到就這樣。 –

1

你不應該使用.操作,就好像它們是字符串,這將串聯的值。正確的做法是使用+

例如:imagettfstroketext($jpg_image, 0, $y + $options['text']['font-position']['l2_y']);假設$y是一個數字而不是字符串。

使用你的價值觀,這將返回數字179,而使用.運營商將返回字符串包含着價值"29150"

如果值不是數字和實際上的字符串版本,還可以封裝在一個intval($var)每個變量,如果它存在,其將採取該變量的整數值。

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

+0

請不要在答案中提問。 –

+0

我改變了它,但出於好奇;爲什麼? – jDo

+0

因爲答案並不是一個問題,特別是如果問題過於寬泛。堆棧溢出被設計成一個問題/答案網站。 OP問這個問題,其他人回答。如果您需要澄清問題,您應該在評論中提問。 –