2016-01-23 63 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