我正在尝试将这两者结合起来:
$test1 = (isset($_GET["var1"]) && (isset($_GET["var2"]);
$test2 = test = !(strpos($_GET['var1'], '{') !== FALSE || strpos($_GET['var1'], '}') !== FALSE );
这就是我试过给我一个unexpected ;
解析错误解析错误:
$test1 = (isset($_GET["var1"]) &&
!(strpos($_GET['var1'], '{') !== FALSE ||
strpos($_GET['var1'], '}') !== FALSE ) ||
(isset($_GET["var2"]) &&
!(strpos($_GET['var2'], '{') !== FALSE ||
strpos($_GET['var2'], '}') !== FALSE );
修改
$test1
所做的是检查网址中是否有var1
和var2
$test2
做的是检查字符串中var1=
或var2=
是否{
或}
。我只想把这一切都变成一个变量
答案 0 :(得分:0)
第1行的括号不合格,我认为你希望它是'$ test',而不是第2行的'test':
<?php
$test1 = isset($_GET['var1']) && isset($_GET['var2']);
$test2 = $test = !(strpos($_GET['var1'], '{') !== FALSE || strpos($_GET['var1'], '}') !== FALSE );
答案 1 :(得分:0)
此代码有效:
$_GET['var1'] = "vvv";
$_GET['var2'] = "ddd";
$test1 = (isset($_GET["var1"]) && !(strpos($_GET['var1'], '{') !== FALSE || strpos($_GET['var1'], '}') !== FALSE ) ||
(isset($_GET["var2"]) && !(strpos($_GET['var2'], '{') !== FALSE || strpos($_GET['var2'], '}') !== FALSE )));
print $test1;
总之这是一团糟。不要这样做,你永远不会在6个月左右之后认出它的作用。
答案 2 :(得分:-1)
这有点冗长,但可能会改变你对此的看法。
如果设置了两个变量, $test1
将具有真值。如果字符串中存在test2
或{
,则}
将具有真值。
function testBrackets($string)
{
$firstBracket = strpos($string, '{');
$secondBracket = strpos($string, '}');
if ($firstBracket == false and $secondBracket == false)
{
return false;
}
return true;
}
if (isset($_GET['var1']) and isset($_GET['var2']))
{
$test1 = true;
}
$test2 = 0;
if (isset($_GET['var1']))
{
$test2 = $test2 + testBrackets($_GET['var1']);
}
if (isset($_GET['var2']))
{
$test2 = $test2 + testBrackets($_GET['var2']);
}