2013-02-12 4 views
-1

Мне нужен массив ($ project_Ids) из функции любое предложение.
Это в поле зрения
Я не могу вызвать вызваемую функцию, вызванную уже; Я просто хочу, как обновить этот массив().Как напечатать переменную/массив из функции

$project_Ids=array(); 
    function generateProperties($listP, $sizeS){ 
     global $project_Ids;    
     $i=0; 
     foreach ($listP as $pr) { 
      $i++; 
         $pr['project_id']; 

         $project_Ids[$i]=$pr['project_id']; 

       echo "<li class='' style='cursor: pointer;height:" . $sizeSmallBlock . "px;' dds='" . $project['project_id'] . '-' . $project['project_calendar_id'] . "' id='" . $project['project_id'] . '-' . $project['project_calendar_id'] . "'>" . 
       $description . 
      "</li>"; 

     }   
    } 
+2

Вы можете попытаться использовать возврат в своей функции. –

+0

var_dump()? что не работает? Разве это не 'глобальный'? – SparKot

+0

использовать $ _POST ['project_Ids_temp'] = $ project_Ids; то $ _POST ['project_Ids_temp'] доступен снаружи! – 2013-02-12 16:54:49

ответ

1

Вам необходимо определить массив внутри функции, а затем выполнить функцию return it!

function generateProperties($listP, $sizeS){ 
    $project_Ids=array();   
    $i=0; 
    foreach ($listP as $pr) { 
     $i++; 
     $project_Ids[$i]=$pr['project_id']; 
    } 
    return $project_Ids;   
} 

// then elsewhere in your code 
$project_Ids = generateProperties($listP, $sizeS); 

Edit:

Глядя на ваш цикл по каждому элементу - это, кажется, вы просто получаете значения массива и хранить их в массиве? Если это так - просто использовать array_values - это именно то, что вы хотите в одной строке коды:

$project_Ids = array_values($listP); 
+0

Я не могу вызывать вызваемую функцию, которая уже вызвана; Я просто хочу, как обновить этот массив().
Есть ли способ? – Fury

+0

Уже звонил откуда? Это бессмысленно. Кроме того - просто используйте array_values ​​- и вам даже не нужна функция – Laurence

+0

У меня есть массив $ project_Ids. в var_dump я вижу их. Но из массива функций пуст – Fury

0

Он уже доступен вне функции, так как вы правильно определили его снаружи.

Возможно, вы захотите освежить scope.

0
$project_Ids = generateProperties($listP, $sizeS); 

Это будет работать, но вы должны прочитать его от конца страницы после рендеринга всех страниц :)

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