0
$k = "+";
$q = 8;
echo $array[$q+1];
但我想以下幾點:
echo $array[$q$k1];
因此,它基本上是說「呼叫數組的值這是8 + 1如此9「。如果我想打電話7,我可以做$ k =「 - 」。
$k = "+";
$q = 8;
echo $array[$q+1];
但我想以下幾點:
echo $array[$q$k1];
因此,它基本上是說「呼叫數組的值這是8 + 1如此9「。如果我想打電話7,我可以做$ k =「 - 」。
在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)];
兩種形式將工作;這只是代碼最方便的問題。
謝謝,正是我所需要的。 – JohanStaart
你能發表一些解釋你爲什麼想這樣做嗎? –
事情是你的變量是一個字符串而不是算術運算符。我不明白這是什麼用例呢?也許更好地做類似的開關? –
我有一個系統,其中2個數組正在彼此進行比較。第一個數組有一個類似60個字符串的字符串,其中有隱藏的單詞,另一個數組有單詞的字符串。我搜索兩個相同的charachters,如果cahrachter +1與大陣中的下一個charachter相等,它會繼續直到找到整個單詞。但是由於單詞是從右到左的,所以我也必須檢查左邊,並且改變+到 - 用單個循環使這種方式更簡單 – JohanStaart