<?php
class Processor{
private $data;
function __construct($category) {
$n = 0;
for($i = 0;$i < count($category , COUNT_NORMAL
);$i++){ $n = $this->f($category[$i],0,$n+1) - 1;
}
}
private function f($arr,$parent,$first){
$current = $first;
//正直型が同じ名前の項目に異なる型の値をツッコむの嫌い。
//自分だったら0をそのまま突っ込むね。
//他の言語だと3項演算子って第2項と第3項同じ型じゃないと行けなかった気がするけど、とりあえず動くので良く考えずに放置
array_push($this->data,array('id' => $current , 'parent_id' => ($parent !== 0 ?
$parent : "-" ) , 'name' => $name));
for($i = 0;$i < count($arr,COUNT_NORMAL
);$i++){ $current = $this->f($arr[$i],$first,$current+1) - 1;
}
return $current + 1;
}
public function getResult(){
return $this->data;
}
}
function main(){
'ライフ'
),
'デジタルライフ',
'携帯・PHS'
),
'ワンセグ放送'
)
),
'趣味',
'AV機器',
'オーディオ'
),
),
),
);
$processor = new Processor($category);
}
main();
?>
PD9waHAKCWNsYXNzIFByb2Nlc3NvcnsKCQkKCQlwcml2YXRlICRkYXRhOwoJCWZ1bmN0aW9uIF9fY29uc3RydWN0KCRjYXRlZ29yeSkgewoJCQkkdGhpcy0+ZGF0YSA9IGFycmF5KCk7CgkJCSRuID0gMDsKCQkJZm9yKCRpID0gMDskaSA8IGNvdW50KCRjYXRlZ29yeSAsIENPVU5UX05PUk1BTCk7JGkrKyl7CgkJCQkkbiA9ICR0aGlzLT5mKCRjYXRlZ29yeVskaV0sMCwkbisxKSAtIDE7CgkJCX0KCQl9CgoJCXByaXZhdGUgZnVuY3Rpb24gZigkYXJyLCRwYXJlbnQsJGZpcnN0KXsKCQkJJG5hbWUgPSBhcnJheV9zaGlmdCgkYXJyKTsKCQkJJGN1cnJlbnQgPSAkZmlyc3Q7CgkJCS8v5q2j55u05Z6L44GM5ZCM44GY5ZCN5YmN44Gu6aCF55uu44Gr55Ww44Gq44KL5Z6L44Gu5YCk44KS44OE44OD44Kz44KA44Gu5auM44GE44CCCgkJCS8v6Ieq5YiG44Gg44Gj44Gf44KJMOOCkuOBneOBruOBvuOBvueqgeOBo+i+vOOCgOOBreOAggoJCQkKCQkJLy/ku5bjga7oqIDoqp7jgaDjgagz6aCF5ryU566X5a2Q44Gj44Gm56ysMumgheOBqOesrDPpoIXlkIzjgZjlnovjgZjjgoPjgarjgYTjgajooYzjgZHjgarjgYvjgaPjgZ/msJfjgYzjgZnjgovjgZHjganjgIHjgajjgorjgYLjgYjjgZrli5XjgY/jga7jgafoia/jgY/ogIPjgYjjgZrjgavmlL7nva4KCQkJYXJyYXlfcHVzaCgkdGhpcy0+ZGF0YSxhcnJheSgnaWQnID0+ICRjdXJyZW50ICwgJ3BhcmVudF9pZCcgPT4gKCRwYXJlbnQgIT09IDAgPyAkcGFyZW50IDogIi0iICkgLCAnbmFtZScgPT4gJG5hbWUpKTsKCgkJCWZvcigkaSA9IDA7JGkgPCBjb3VudCgkYXJyLENPVU5UX05PUk1BTCk7JGkrKyl7CgkJCQkkY3VycmVudCA9ICR0aGlzLT5mKCRhcnJbJGldLCRmaXJzdCwkY3VycmVudCsxKSAtIDE7CgkJCX0KCQkJcmV0dXJuICRjdXJyZW50ICsgMTsKCgkJfQoKCQlwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzdWx0KCl7CgkJCXJldHVybiAkdGhpcy0+ZGF0YTsKCQl9CgoJfQoKCWZ1bmN0aW9uIG1haW4oKXsKCgkJJGNhdGVnb3J5ID0gYXJyYXkoCgkJCWFycmF5KAoJCQkJJ+ODqeOCpOODlScKCQkJKSwKCQkJYXJyYXkoCgkJCQkn44OH44K444K/44Or44Op44Kk44OVJywKCQkJCWFycmF5KAoJCQkJCSfmkLrluK/jg7tQSFMnCgkJCQkpLAoJCQkJYXJyYXkoCgkJCQkJJ+ODr+ODs+OCu+OCsOaUvumAgScKCQkJCSkKCQkJKSwKCQkJYXJyYXkoCgkJCQkn6Laj5ZGzJywKCQkJCWFycmF5KAoJCQkJCSdBVuapn+WZqCcsCgkJCQkJYXJyYXkoCgkJCQkJCSfjgqrjg7zjg4fjgqPjgqonCgkJCQkJKSwKCQkJCSksCgkJCSksCgkJKTsKCgkJJHByb2Nlc3NvciA9IG5ldyBQcm9jZXNzb3IoJGNhdGVnb3J5KTsKCgkJcHJpbnRfcigkcHJvY2Vzc29yLT5nZXRSZXN1bHQoKSk7CgoJfQoKCW1haW4oKTsKCgoKCj8+