I am getting the following error from the method presented below:
Notice: Uninitialized string offset: 5 in /path/to/file.php on line 30 Fatal error: Cannot access empty property in path/to/file.php on line 30
private function parse($xml, $index = '') {
echo count($xml->children()); //outputs 6
$count = 0;
foreach ($xml->children() as $key => $value) {
$this->$key[$count] = array();
$count++;
}
}
Any ideas why if I build an multi-dimensional in this way it results in an error?
If I change the assignment to:
$this->$key = array($count = > array());
This simply re-assigns the property each loop.
Thanks
Rich
Imagine you’ve got a string:
Doing substring access (which looks like array) will return you the character:
Or you get your error when you’re out of the index:
So now accessing a member of your object
$thisdynamically:However this one breaks hardly:
This gives you your fatal error of an empty property, a property with no name.
This explain what happens in your code, you have not told what you’re trying to do so I hope this information will help you to continue with writing your parse function.