PHP string!= Variable ='string'

时间:2014-10-01 17:51:04

标签: php html

不确定如何命名这个问题,但我正在寻找反馈,为什么当我将变量设置为某个字符串时,它不会让我在函数中调用该变量...例如:

$name = "name";
$quote_name = "'".$name."'";

//echo of $name = name
//echo of $quote_name = 'name'

PHP不允许我致电:

if($value['name'] == $quote_name){...}

或者

if($value['name'] == '$name'){...}

但它允许我打电话(使用整个功能):

foreach($question_set_p1 as $key => $value) {
    if($value['name'] == 'name') {
        $first = $key;
        break;
    }
}


$data =  array_filter($question_set_p1, function($arr){ 
    return $arr['name'] == 'name'; 
});

为什么PHP允许我调用字符串而不是变量? 有没有办法可以说明变量而不是实际的字符串?

2 个答案:

答案 0 :(得分:2)

删除第二个var中的引用,如下所示:

$name = "name";
$quote_name = $name;

if($value['name'] == $quote_name){...}

答案 1 :(得分:1)

假设

$value['name'] = 'abcd';
$name = 'abcd';
$quot_name = " ' ".$name." ' ";//(as you entered).

现在,如果你回显$quot_name,它将返回'abcd'(带引号),如果你回显$value['name'],它将返回abcd(没有引号)。

因此$quot_name应该是$name(不带引号),或者您也应该为$value['name']添加引号。