2013-02-12 73 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); 

这是可行的,但你必须使所有的页面后,从页面的读取结束吧:)