0
好吧,這是範圍(必須從內存中背誦它,希望它有意義):具有「函數」的數組需要在它們出現之後進行排序並且返回值,以便您可以看到函數的順序,它們需要「加載」和它們的「依賴關係」。對「函數」數組進行排序後,它們的出現和返回值
不應該有重複和空白的回報應該被忽略
function human()
{
return "";
}
function animal()
{
return "";
}
function worker()
{
return "human";
}
function clerk()
{
return "human";
}
function manager()
{
return "clerk";
}
$task = array("human", "worker", "human", "worker", "clerk", "manager", "animal");
結果數組應該是這樣的
$result = array(
"human" => array(
"worker" => array(),
"clerk" => array(
"manager" => array(),
),
),
"animal" => array()
);
所以:人的需要「裝」,然後再工人,職員,經理和動物。 工作人員和職員依靠人力,經理依靠職員。
到目前爲止,我得到這個:
$result = array();
foreach($task as $function)
{
if(!in_array($function, $result))
{
$result[$function] = array();
}
$returnvallue = $function();
if(!empty($returnvallue) && !in_array($returnvallue, $result))
{
$result[$returnvallue] = array();
}
}
這給了我這個數組
$result = array(
"human" => array(),
"worker" => array(),
"clerk" => array(),
"manager" => array(),
"animal" => array()
);
但它只能說明我一次出現的順序。
我很難過。
我認爲人類也應該回歸動物。 – Orangepill
恩,那是我被賦予的任務...... – 5pike