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