结合这两个变量

时间:2014-10-02 21:26:12

标签: php

我正在尝试将这两者结合起来:

$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所做的是检查网址中是否有var1var2 $test2做的是检查字符串中var1=var2=是否{}。我只想把这一切都变成一个变量

3 个答案:

答案 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']);
}