Я определил переменную вне класса.К которому я обращаюсь в функции класса по ключевому слову global
.Я установил некоторое значение в этой переменной и возвращаю переменную.Но где я вызываю функцию, я ничего не получаю.Вот мой код
<code>$category_ids=array();
class Categoriesinfo
{
function get_categories_info($feed_id)
{
$all_categories[] = $this->get_parent_ids(5);
//here I receive only null
echo '<pre>';
var_dump($all_categories);
echo '
';} function get_parent_ids ($ category_id) {global $ db;// echo '
'. $ category_id;глобальные $ category_ids;$ parent_id = $ db-> Execute ("SELECT Categories_id, parent_id FROM" .DB_PREFIX. "_ Categories WHERE Categories_id = '$ category_id'");if ($ parent_id-> fields ['parent_id'] == 0) {$ category_ids [] = $ parent_id-> fields ['Categories_id'];// когда я беру print_r из $ category_ids, он показывает мои значения, но там, где я вызываю эту функцию, он показывает null return $ category_ids;} else {$ category_ids [] = $ parent_id-> fields ['ateg_id '];$ This-> get_parent_ids ($ parent_id-> поля [ 'parent_id']);}}}
Теперь в функции get_parent_ids
, когда я беру print_r
из переменной global
, я могу видеть массив с 2 значениями.Но когда я вызываю эту функцию, я получаю только ноль.Эта переменная не возвращается.Есть ли проблемы с моим кодом или я делаю что-то не так?
Примечание
На самом деле я вызываю функцию get_parent_ids()
в цикле,Я не упомянул это в коде.Поэтому каждый раз значение переменной будет меняться.Поэтому, пожалуйста, учтите этот фактор тоже