2013-02-12 45 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

你可以試着在你的函數中使用return。 – 2013-02-12 16:53:05

+0

var_dump()?什麼是失去功能?不是'全球'嗎? – SparKot 2013-02-12 16:53:08

+0

使用$ _POST ['project_Ids_temp'] = $ project_Ids;那麼$ _POST ['project_Ids_temp']在外面可用! – 2013-02-12 16:54:49

回答

1

你需要定義函數裏面的數組,然後讓函數返回吧!

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); 

編輯:

從看你的foreach循環 - 看來你是剛剛起步的數組值並將其存儲在一個數組?如果是這樣的 - 只是用array_values - 它正是你在一個代碼行想要的東西:

$project_Ids = array_values($listP); 
+0

我無法調用已被調用的函數原因;我只想要一些如何更新這個數組()。
有什麼辦法嗎? – Fury 2013-02-12 17:04:31

+0

已從哪裏調用?這是沒有意義的。此外 - 只使用array_values - 你甚至不需要函數 – Laurence 2013-02-12 17:10:32

+0

我有$ project_Ids的數組。在var_dump中,我可以看到它們。但是,功能外數組是空的 – Fury 2013-02-12 17:12:31

0

它已在函數之外使用,因爲您已在外部正確定義它。

你可能想要刷上scope

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

這是可行的,但你必須使所有的頁面後,從頁面的讀取結束吧:)