|
Posted by Captain Paralytic on 11/06/06 15:10
strawberry wrote:
blah, blah, blah...
Sniped all the stuff, 'cos it was getting too big!
I can see what is wrong, but I'm not sure exactly what you want to
achieve.
The reason for getting the first INSERT that has a field called "name"
is that the original code will output an INSERT statement for every
array element that is processed, since the echo is outside of the "if"
statement that identifies a table "name" field.
Now in your first example you said that the required output was for
every INSERT to have a single key/value pair. In the most recent one
you are suggesting that they are collected together.
In either case you need to ensure that the first element of the array
is a "name" element.
Also, your statement about keeping the table name till you encounter
another "name" element would not happen, as any array can only have one
element with a particular value of "key". In your processing you are
calling the function recursively whenever you encounter a "sub-array",
so that all the variables will start off empty as you are not using any
"static" variables.
If your sub-arrays are supposed to have the same table value as was
previously encountered, then you need to make the $table variable
accessable to the new instance of the function call.
Take a look at http://uk.php.net/static for pointers on what I think
you need to do.
There isn't quite enough of the var_export shown fo me to be 100% sure
that this'll fix it, but I am 95%.
HTH
Regards
Paul
[Back to original message]
|