有人可以解释$looparray = array();
$loopend = 0;
$arraymer = array();
$poolafirtsid = $previous_array_values; //previous array values
do {
if (sizeof($looparray) == 0) {
$firstsponarray = $poolafirtsid;
} else {
$firstsponarray = $looparray;
}
$firstsponarray = getUserArray($poolafirtsid);
//get user arraylist of first
foreach ($firstsponarray as $avalue) {
$rooparray = membercount($avalue);
$bsponarray = getUserArray($avalue);
//get second users arraylist 9
if (sizeof($bsponarray > 0)) {
$barraymer = array_merge($barraymer, $bsponarray);
}
$aarraylist[$avalue] = $rooparray;
}
$asmallestsponid = getSmallestID($aarraylist);
//get smallest id in the array
if (membercount($asmallestsponid) < 3) {
$loopend = 1;
} else {
global $pooldata;
if (count($barraymer) > 0) {
$pooldata = $barraymer;
}
print_r($pooldata);
}
} while ($loopend == 1);
的用法吗?
MyAppState是State类的扩展,但是MyApp是什么?
我知道php中的OOP,但不了解这一点。
<MyApp>
答案 0 :(得分:0)
State<MyApp>
是State
类的专门的MyApp
类。这样一来,它就可以拥有可操作于MyApp
小部件或与之相关的可继承方法和属性。
例如,它允许MyAppState.widget
以MyApp
小部件而不是通用StatefulWidget
的形式返回相应的窗口小部件。如果您随后要在返回的窗口小部件上调用MyApp
特定的属性或方法,则这一点很重要。
请注意,这是必要的,因为Flutter使用type-safe Dart并尝试执行尽可能多的静态类型检查,以最大程度地减少运行时进行类型检查的成本。
答案 1 :(得分:0)
<MyApp>
是通用类型State<T>
的类型参数。不确定php是否具有泛型,但从本质上讲泛型允许您在各种不同类型的范围内重用``泛型''代码,同时它提供了更多的类型安全性,例如泛型可防止您意外地将double
添加到int
(List<int>
)的列表中。同样,本机示例将是通用列表List<T>
,其中可以将类似add
项目的相同操作应用于列表int(List<int>
)或人员列表,或者一切清单。
也许可以专门从this中查看dart中的泛型。
答案 2 :(得分:0)
请始终记住,State<T>
类是作为通用类实现的
扩展任何通用类时,必须为其指定类型,而该类型恰好是您的静态小部件具体实现,其名称为MyApp
对于StatfulWidget
类的每个具体实现,您都需要定义扩展State<MyApp>
的类的另一个具体实现,并且其名称为MyAppState
,因为State<T>
是泛型类我们将其编码为State<MyApp>
以便回答您的问题
MyApp 是 StatefulWidget
类的具体实现的名称StatefulWidget ----->非通用类
MyApp -------------> StatefulWidget类的具体实现
状态 ----------->
的通用类MyAppState -> State的具体实现
希望能有所帮助..