Hierarchy Test
Show/Hide the PHP Source
$locale['global_902'] = "- Choose an option -";
$translate = array(
'this' => 'item_id',
'name' => 'item_name',
'parent' => 'item_parent_id',
'order' => 'item_order',
);
# for $test_array see below (TWO-DIMENSIONAL array)
$hierarchy = new Hierarchy($test_array, $translate);Show/Hide the TWO-DIMENSIONAL array
Array
(
[0] => Array
(
[item_id] => 1
[item_name] => A
[item_order] => 1
[item_parent_id] => 0
)
[1] => Array
(
[item_id] => 2
[item_name] => B
[item_order] => 2
[item_parent_id] => 0
)
[2] => Array
(
[item_id] => 3
[item_name] => B.1
[item_order] => 1
[item_parent_id] => 2
)
[3] => Array
(
[item_id] => 4
[item_name] => B.2
[item_order] => 2
[item_parent_id] => 2
)
[4] => Array
(
[item_id] => 5
[item_name] => B.2.a
[item_order] => 1
[item_parent_id] => 4
)
[5] => Array
(
[item_id] => 6
[item_name] => C
[item_order] => 3
[item_parent_id] => 0
)
[6] => Array
(
[item_id] => 7
[item_name] => A.1
[item_order] => 1
[item_parent_id] => 1
)
)
Show/Hide the MULTI-DIMENSIONAL array
Array
(
[1] => Array
(
[item_id] => 1
[item_name] => A
[item_order] => 1
[item_parent_id] => 0
[children] => Array
(
[7] => Array
(
[item_id] => 7
[item_name] => A.1
[item_order] => 1
[item_parent_id] => 1
)
)
)
[2] => Array
(
[item_id] => 2
[item_name] => B
[item_order] => 2
[item_parent_id] => 0
[children] => Array
(
[3] => Array
(
[item_id] => 3
[item_name] => B.1
[item_order] => 1
[item_parent_id] => 2
)
[4] => Array
(
[item_id] => 4
[item_name] => B.2
[item_order] => 2
[item_parent_id] => 2
[children] => Array
(
[5] => Array
(
[item_id] => 5
[item_name] => B.2.a
[item_order] => 1
[item_parent_id] => 4
)
)
)
)
)
[6] => Array
(
[item_id] => 6
[item_name] => C
[item_order] => 3
[item_parent_id] => 0
)
)
using __toString() method
- A
- A.1
- B
- B.1
- B.2
- B.2.a
- C
using outputList() method, first level deep only
- A
- B
- C
using outputList() method, second level deep only, exclude item #3
- A
- A.1
- B
- B.2
- C
using outputList() method, exclude item #2
- A
- A.1
- C
Show/Hide the Flatted but "leveled"
Array
(
[1] => A
[7] => - A.1
[2] => B
[3] => - B.1
[4] => - B.2
[5] => -- B.2.a
[6] => C
)
Just a pagination test, using array_slice
Array
(
[1] => A
[7] => - A.1
)
Array
(
[2] => B
[3] => - B.1
)
Array
(
[4] => - B.2
[5] => -- B.2.a
)
Array
(
[6] => C
)
Yet another pagination test, using array_slice
Array
(
[1] => A
[7] => - A.1
[2] => B
)
Array
(
[3] => - B.1
[4] => - B.2
[5] => -- B.2.a
)
Array
(
[6] => C
)
Show/Hide a default <select>
Show/Hide a custom <select> usage
Show/Hide dump
Hierarchy Object
(
[_this:protected] => item_id
[_name:protected] => item_name
[_parent:protected] => item_parent_id
[_order:protected] => item_order
[_tree:protected] => Array
(
[1] => Array
(
[item_id] => 1
[item_name] => A
[item_order] => 1
[item_parent_id] => 0
[children] => Array
(
[7] => Array
(
[item_id] => 7
[item_name] => A.1
[item_order] => 1
[item_parent_id] => 1
)
)
)
[2] => Array
(
[item_id] => 2
[item_name] => B
[item_order] => 2
[item_parent_id] => 0
[children] => Array
(
[3] => Array
(
[item_id] => 3
[item_name] => B.1
[item_order] => 1
[item_parent_id] => 2
)
[4] => Array
(
[item_id] => 4
[item_name] => B.2
[item_order] => 2
[item_parent_id] => 2
[children] => Array
(
[5] => Array
(
[item_id] => 5
[item_name] => B.2.a
[item_order] => 1
[item_parent_id] => 4
)
)
)
)
)
[6] => Array
(
[item_id] => 6
[item_name] => C
[item_order] => 3
[item_parent_id] => 0
)
)
[_temp:protected] => Array
(
[0] => Array
(
[item_id] => 1
[item_name] => A
[item_order] => 1
[item_parent_id] => 0
)
[1] => Array
(
[item_id] => 2
[item_name] => B
[item_order] => 2
[item_parent_id] => 0
)
[2] => Array
(
[item_id] => 3
[item_name] => B.1
[item_order] => 1
[item_parent_id] => 2
)
[3] => Array
(
[item_id] => 4
[item_name] => B.2
[item_order] => 2
[item_parent_id] => 2
)
[4] => Array
(
[item_id] => 5
[item_name] => B.2.a
[item_order] => 1
[item_parent_id] => 4
)
[5] => Array
(
[item_id] => 6
[item_name] => C
[item_order] => 3
[item_parent_id] => 0
)
[6] => Array
(
[item_id] => 7
[item_name] => A.1
[item_order] => 1
[item_parent_id] => 1
)
)
[_flat:protected] => Array
(
[1] => Item: A
[7] => > Item: A.1
[2] => Item: B
[3] => > Item: B.1
[4] => > Item: B.2
[5] => >> Item: B.2.a
[6] => Item: C
)
)
Show/Hide hasChildren test
Expected: false;
Result:
Result:
Result:
Result:
Result:
bool(false)
Expected: true; Result:
bool(true)
Expected: true; Result:
bool(true)
Expected: false; Result:
bool(false)
Show/Hide isParentOf test
Expected: false;
Result:
Result:
Result:
bool(false)
Expected: true; Result:
bool(true)
Show/Hide isChildOf test
Expected: false;
Result:
Result:
Result:
bool(false)
Expected: true; Result:
bool(true)
