如何打印函数外的变量/数组


how to print variable/array out of function

我需要数组($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>";
        }        
    }

您需要在函数内部定义数组,然后让函数返回它!

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

它已经在函数外部可用,因为您已经在外部正确地定义了它。

你可能想复习一下范围。

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

这将起作用,但您必须在呈现所有页面后从页面末尾读取:)