而且回答使用了recursive iterator:
function getArray($array, $index) {
$arrayIt = new RecursiveArrayIterator($array);
$it = new RecursiveIteratorIterator(
$arrayIt,
RecursiveIteratorIterator::SELF_FIRST
);
foreach ($it as $key => $value) {
if ($key == $index) {
return $value;
}
}
return null;
}
或者,如果你真的想要得到幻想,那麼你就是d使用filter iterator:
class IndexFilterIterator extends FilterIterator {
protected $index = '';
public function __construct($iterator, $index) {
$this->index = $index;
parent::__construct($iterator);
}
public function accept() {
return parent::key() == $index;
}
}
function getArray($array, $index) {
$arrayIt = new RecursiveArrayIterator($array);
$it = new RecursiveIteratorIterator(
$arrayIt,
RecursiveIteratorIterator::SELF_FIRST
);
$filterIt = new IndexFilterIterator($it, $index);
$filterIt->rewind();
if ($filterIt->valid()) {
return $filterIt->current();
}
return null;
}
Medoo? http://stackoverflow.com/questions/3776798/php-array-recursion – Wernight 2010-09-23 09:52:03
這是下一個任務。 – pltvs 2010-09-23 09:54:09
然後問題應該標記爲'任務'或'行使'或書面表明它不是個人問題,而是行爲。 – Wernight 2010-09-23 12:04:37