2016-01-23 61 views
0

例如:更改「 - 」變量和使用這個變量來調用精確值

$k = "+"; 

$q = 8; 
echo $array[$q+1]; 

但我想以下幾點:

echo $array[$q$k1]; 

因此,它基本上是說「呼叫數組的值這是8 + 1如此9「。如果我想打電話7,我可以做$ k =「 - 」。

+0

你能發表一些解釋你爲什麼想這樣做嗎? –

+0

事情是你的變量是一個字符串而不是算術運算符。我不明白這是什麼用例呢?也許更好地做類似的開關? –

+0

我有一個系統,其中2個數組正在彼此進行比較。第一個數組有一個類似60個字符串的字符串,其中有隱藏的單詞,另一個數組有單詞的字符串。我搜索兩個相同的charachters,如果cahrachter +1與大陣中的下一個charachter相等,它會繼續直到找到整個單詞。但是由於單詞是從右到左的,所以我也必須檢查左邊,並且改變+到 - 用單個循環使這種方式更簡單 – JohanStaart

回答

3

在PHP中,你不能把操作符當作變量。

不過,有兩種基本方法可以達到同樣的效果。

您可以使用條件,並指定相應的值:

$r = 1; //the value you're adding; moved to a variable for clarity 
$op = '+'; //+ means add; anything else means subtract 

echo $array[$q + ($op === '+' ? $r : -$r)]; 

//or 

if($op === '+') { 
    echo $array[$q + $r]; 
} else { 
    echo $array[$q - $r]; 
} 

或者你可以改變操作成乘積:

echo $array[$q + (($op === '+' ? 1 : -1) * $r)]; 

兩種形式將工作;這只是代碼最方便的問題。

+0

謝謝,正是我所需要的。 – JohanStaart