Rollton
Новичок
Ссылки на объекты
Здравствуйте, написал реализацию списков в пхп. Всё работает отлично, но только в пхп 5. Помогите если это возможно, чтобы заработало и пхп 4. Заранее спасибо.
Код:
Здравствуйте, написал реализацию списков в пхп. Всё работает отлично, но только в пхп 5. Помогите если это возможно, чтобы заработало и пхп 4. Заранее спасибо.
Код:
PHP:
<?php
// класс для списка
class ListNode{
var $Value;
var $NextNode;
var $SubNode;
}
$root = &addnode( $root, '5656' );
$r1 = &addnode( $root, '9595' );
addsub( $r1, '856');
$r2 = &addsub( $r1, 'GGGGG');
addsub( $r2, '123456');
addnode( $root, 'gggg' );
parse( $root, '=' );
// функция добавления в конец списка
function addnode( $root, $value ){
if ( $root == NULL ) {
$root = new ListNode;
$root->Value = $value;
$root->NextNode = NULL;
$root->SubNode = NULL;
return $root;
} else {
$curnode = $root;
while ( $curnode->NextNode != NULL ){
$curnode = $curnode->NextNode;
}
$curnode->NextNode = new ListNode;
$curnode = $curnode->NextNode;
$curnode->Value = $value;
$curnode->NextNode = NULL;
$curnode->SubNode = NULL;
return $curnode;
}
}
// добавление дочерних элементов
function addsub( $root, $value ) {
if ( $root->SubNode == NULL ) {
$root->SubNode = new ListNode();
$curnode = $root->SubNode;
$curnode->Value = $value;
$curnode->NextNode = NULL;
$curnode->SubNode = NULL;
return $curnode;
} else {
$curnode = $root->SubNode;
while ( $curnode->NextNode != NULL ){
$curnode = $curnode->NextNode;
}
$curnode->NextNode = new ListNode();
$curnode = $curnode->NextNode;
$curnode->Value = $value;
$curnode->NextNode = NULL;
$curnode->SubNode = NULL;
return $curnode;
}
}
// вывод дерева
function parse( $root, $space = '' ){
$curnode = $root;
while ( $curnode != NULL ) {
echo $space.$curnode->Value.'<br>';
if ( $curnode->SubNode != NULL ) {
parse( $curnode->SubNode , $space.'====' );
}
$curnode = $curnode->NextNode;
}
}
?>
постю на всякий случай работающий вариант