<?php
function incrementPath(&$array, $path) {
if (is_string($path)) {
$path = explode('-', str_replace('E', '', $path));
}else{
echo "Path is not valid";
}
$tmp =& $array;
foreach ($path as $subpath) {
if (is_array($tmp) && isset($tmp[$subpath])) {
$tmp =& $tmp[$subpath];
} else {
$tmp[$subpath] = array(1);
$tmp =& $tmp[$subpath];
}
}
$tmp++;
return true;
}
//$projectNumber = $_GET['project_number'];
$parentNumber = 'E3-1';
$eNumbers = array(
1=>array(
1=>array(
1=>null
),
2=>array(
1=>null, 2=>null, 3=>null
)
),
2=>array(
1=>array(
1=>null, 2=>null, 3=>null, 4=>null
)
),
3=>array(
1=>array(
1=>null, 2=>null
),
2=>null,
3=>array(
1=>null
),
4=>null
),
);
echo "Starting Array:\n";
print_r($eNumbers);
echo "Input string: ", $parentNumber,"\n";
if (!is_array($eNumbers)&&!isset($parentNumber)){
$eNumbers[1] = null; //cant possibly have children so null for now
$nextENumber = 'E1';
}else{
if (!isset($parentNumber)){
$nextNumber = count($eNumbers)+1;
$eNumbers[$nextNumber] = null; //cant possibly have children so null for now
$nextENumber = 'E'.$nextNumber;
}else{
// $parentIndex = explode('-', str_replace('E', '', $parentNumber));
//$nextENumber = //assign $nextENumber the incremented e number
if (!incrementPath($eNumbers, $parentNumber)){
echo "Path not found";
}
}
}
echo $nextENumber;
echo "Resulting Array: \n";
print_r($eNumbers);
?>