<?php
function getCollectionParentIDFromChildID($cID) {
if(is_numeric($cID)) {
if($cID > 1) {
return '1';
}
if($cID == 1) {
return '0';
}
}
return null;
}
function populateParentIDArray_current($cID) {
global $cParentIDArray;
$cParentID = getCollectionParentIDFromChildID($cID);
if($cParentID > -1) {
if(!in_array($cParentID, $cParentIDArray)) {
$cParentIDArray[] = $cParentID;
}
populateParentIDArray_current($cParentID);
}
}
function populateParentIDArray_new($cID) {
global $cParentIDArray;
$cParentID = getCollectionParentIDFromChildID($cID);
if(is_numeric($cParentID)) {
if(!in_array($cParentID, $cParentIDArray)) {
$cParentIDArray[] = $cParentID;
}
if($cParentID > 0) {
populateParentIDArray_new($cParentID);
}
}
}
function runTest($cID) {
global $cParentIDArray;
echo "Test case for "; var_dump($cID);
$cParentIDArray = array();
populateParentIDArray_current($cID);
echo "CURRENT: \n";
var_dump($cParentIDArray);
$cParentIDArray = array();
populateParentIDArray_new($cID);
echo "CURRENT: \n";
var_dump($cParentIDArray);
}
runTest('3');
runTest('1');
runTest('0');
runTest(3);
runTest(1);
runTest(0);
runTest(null);
runTest('');
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.36, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
- Test case for string(1) "3"
CURRENT:
array(2) {
[0]=>
string(1) "1"
[1]=>
string(1) "0"
}
CURRENT:
array(2) {
[0]=>
string(1) "1"
[1]=>
string(1) "0"
}
Test case for string(1) "1"
CURRENT:
array(1) {
[0]=>
string(1) "0"
}
CURRENT:
array(1) {
[0]=>
string(1) "0"
}
Test case for string(1) "0"
CURRENT:
array(0) {
}
CURRENT:
array(0) {
}
Test case for int(3)
CURRENT:
array(2) {
[0]=>
string(1) "1"
[1]=>
string(1) "0"
}
CURRENT:
array(2) {
[0]=>
string(1) "1"
[1]=>
string(1) "0"
}
Test case for int(1)
CURRENT:
array(1) {
[0]=>
string(1) "0"
}
CURRENT:
array(1) {
[0]=>
string(1) "0"
}
Test case for int(0)
CURRENT:
array(0) {
}
CURRENT:
array(0) {
}
Test case for NULL
CURRENT:
array(0) {
}
CURRENT:
array(0) {
}
Test case for string(0) ""
CURRENT:
array(0) {
}
CURRENT:
array(0) {
}
preferences:
247.02 ms | 407 KiB | 388 Q