Вы можете использовать ключевое слово global
в функции, поэтому $keywords
внутри функции относится к $keywords
вне функции:
function printCategoryItems() {
global $keyword;
if(isset($_GET['keyword'])){
$keyword = $_GET['keyword'];
}
}
printCategoryItems();
var_dump($keyword);
Это потому, что переменныевнутри функции принадлежат локальной области видимости функции, а не глобальной области видимости (я долгое время не делал никакой JAVA, но я думаю, что в JAVA то же самое: переменная, объявленная внутри функции,снаружи этой функции не видно) .
Но использование глобальных переменных, как правило, не очень хорошая идея ... лучшим решением было бы иметь вашу функцию return
данные;например:
function printCategoryItems() {
if(isset($_GET['keyword'])){
return $_GET['keyword'];
}
}
$keyword = printCategoryItems();
var_dump($keyword);
В качестве полу-примечания: другое решение, все еще с глобальными переменными (опять же, не очень хорошая идея) будет использовать $GLOBALS
суперглобальный массив :
function printCategoryItems() {
if(isset($_GET['keyword'])){
$GLOBALS['keywords'] = $_GET['keyword'];
}
}
printCategoryItems();
var_dump($GLOBALS['keywords']);
Здесь больше не нужно ключевое слово global
.
И, чтобы закончить, вы должны прочитатьДокументация PHP - особенно часть о функциях .