我有一个类,它将值设置为$ this->属性在一个attach方法中。 我会在这里缩短代码简单起见:如何按优先级排序此数组
<?php
class Event
{
protected $properties = array();
public function attach($event_name, $context, $event, $callback, $priority)
{
$this->properties [$event_name] = array(
$context,
$event,
$callback,
$priority,
);
}
public function dispatchAll($context = '0')
{
foreach($this->properties as $p) {
if($p[0] == $context) {
$this->dispatch($p[1]);
} else {
continue;
}
}
}
public function dispath($event_name)
{
// implentation not necessary for this question
}
}
我需要的是“背景下,优先”排序$this->properties
,这样我可以运行匹配我的应用程序在方兴未艾为了上下文的代码。
娄仅有3组性质的var_dump
:
array(3) {
["StartUp"]=>
array(4) {
[0]=>
string(1) "1"
[1]=>
string(7) "StartUp"
[2]=>
array(3) {
[0]=>
string(9) "Bootstrap"
[1]=>
string(7) "startup"
[2]=>
array(2) {
[0]=>
int(1)
[1]=>
object(Event)#6 (4) {
["name":protected]=>
NULL
["target":protected]=>
NULL
["parameters":protected]=>
*RECURSION*
["result":protected]=>
NULL
}
}
}
[3]=>
int(0)
}
["View"]=>
array(4) {
[0]=>
string(1) "1"
[1]=>
string(4) "View"
[2]=>
array(2) {
[0]=>
string(9) "Bootstrap"
[1]=>
string(4) "view"
}
[3]=>
array(1) {
[0]=>
object(Event)#6 (4) {
["name":protected]=>
NULL
["target":protected]=>
NULL
["parameters":protected]=>
*RECURSION*
["result":protected]=>
NULL
}
}
}
["ShutDown"]=>
array(4) {
[0]=>
string(1) "3"
[1]=>
string(8) "ShutDown"
[2]=>
array(2) {
[0]=>
string(9) "Bootstrap"
[1]=>
string(8) "shutdown"
}
[3]=>
array(1) {
[0]=>
object(Event)#6 (4) {
["name":protected]=>
NULL
["target":protected]=>
NULL
["parameters":protected]=>
*RECURSION*
["result":protected]=>
NULL
}
}
}
}
你可以发布'$ properties'的转储吗? – F21 2012-03-30 06:02:43
我已经将var_dump放在问题 – 2012-03-30 06:24:52