2016-06-30 2 views
0

Я получаю следующее сообщение об ошибке при попытке вызова функции, которые мне нужно нажать объект в массив:PHP глобальный массив дает нуль внутри функции

array_push() ожидает параметр 1, чтобы быть массивом, null given

Любые подсказки, почему это происходит? Спасибо заранее!

<?php 
$programming = array(); 

//some unrelated lines of code here inbetween 

function createProgramming($data){ 
     global $programming; 
     $prog = new Programming($data); 
     array_push($programming, $prog); 
    } 
?> 

//random HTML here 
<php? 
createProgramming("str"); 
?> 
//more html 

$ Программирование только в коде в тех трех местах, которые указаны в моей выписке выше.

+0

отлично работает для меня –

ответ

5

Этот код работает нормально. Есть несколько вещей, которые могли бы сделать это перерыв:

  1. $programming переопределяется/отключено до того createProgramming() называется
  2. $programming не определен в глобальной области
+0

$ программирование только упомянутых в этих трех местах, представленных в моем примере. «$ Programming = array();» строка находится в верхней части документа, функция createProgramming определяется немного ниже, а затем createProgramming() вызывается еще дальше вниз, в небольшом сегменте, расположенном внутри содержимого HTML (передается javascript через json). –

+0

Как это ответ? – Rizier123

+0

Вы пытались запустить код OP? Он ** работает ** как отдельный файл, поэтому что-то еще должно его нарушать. Либо некоторые из несвязанных кодов подделываются с помощью '$ programming', либо' $ programming = array() 'не запускаются в глобальной области. – ShiraNai7

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