2016-01-09 2 views
-1

я в настоящее время есть файл index.php и на вершине я естьфункция не обнаруживает переменную

$pagetitle == "home"; 

function isThisHome(){ 
    if($pagetitle == "home"){ 
     $output = $output . 'this is home!'; 
    }else{ 
     $output = $output . 'this is not home!'; 
    } 
    return $output; 
} 
echo isThisHome(); 

Я бы ожидать, что он будет эхо «это дома!» но вместо этого он вторит «это не дом!». Может кто-то помочь исправить меня, чтобы он сказал: «Это дом»?

ответ

0

Чтобы получить доступ к переменным вне области видимости функции, необходимо квалифицировать глобальные переменный с global классификатором внутри функции.

Кроме того, оператор присваивания ASSIGN (=), так что IS_EQUAL (==) не то же самое.

$pagetitle = "home"; 

function isThisHome(){ 
    global $pagetitle; 
    if($pagetitle == "home"){ 
     $output = $output . 'this is home!'; 
    } else{ 
     $output = $output . 'this is not home!'; 
    } 
    return $output; 
} 
echo isThisHome(); 
+0

Речь идет не о области переменных. Пожалуйста, снова просмотрите вопрос и код. Он использовал два '==' вместо 1 – Dacaspex

+0

Да, но у него все еще есть 2 проблемы. Вероятно, он не видит предупреждений, потому что его файл 'php.ini'. –

+1

@ Dacaspex - это как обоим – j08691

0
$pagetitle == "home"; 

Должен быть

$pagetitle = "home"; 
+0

oops sorry $ pagetitle = "home"; я случайно поставил два там, что было моей ошибкой. но все еще показывая, что «это не мой дом» – user2565966

Смежные вопросы