Is there a more efficient way to code this than what I have?


Posted on 16th Feb 2014 07:03 pm by admin

I have three associative arrays.

$combinedSettings
$userSettings
$defaultSettings

My function must combine the key and value from $userSettings and $defaultSettings into the $combinedSettings array.

$userSettings will always contain more keys than $defaultSettings will ever have.

So every once in a while there is an extra key and of course it's value in the $userSettings array than in the $defaultSettings array.

If the value of a key in $userSettings is empty we then use the value for the same key in the $defaultSettings. Every key in $defaultSettings will always be present in $userSettings. $userSettings just adds a few extra keys and their values.

Below is my working code but I am wondering if there is some way to make it more efficient, faster, perhaps with less code. It looks rather clutzy to me. Rather bloated.

Code: while (list($userKey, $userValue) = each($userSettings)) {
while ($defaultKey = key($defaultSettings)) {
$defaultValue = current($defaultSettings);
if ($userKey === $defaultKey) {
if ($userValue === "") {
$combinedSettings[$defaultKey] = $defaultValue;
} else {
$combinedSettings[$userKey] = $userKey;
}
next($defaultSettings); // to allow key() to work properly above.
} else { // add userSettings setting and value to combinedSettings and leave
// defaultSettings where it is.
$combinedSettings[$userKey] = $userValue;
}
break;
}
}

Thanks.

No comments posted yet

Your Answer:

Login to answer
288 Like 7 Dislike
Previous forums Next forums
Other forums

Change log of Cost centre change in Plant maintenance order
Hi,
How to view Change log of Cost centre in Plant maintenance order. Not visible thru 'Docume

Timer control causing error
I recently decided to add a timer control to an existing page that uses AJAX on my site. As soon as

upload form file types....
Hey all, I am learning PHP and I am writing a script from the W3C Schools tutorials for uploading fi

Please help understand this code
I noticed the index page on my site was modified this morning and found this code inserted at the bo

Internal class functions don't seem to get executed.
Hi. Can someone please put me out of my misery on this. I don't write much PHP and this has me baffl

Array question
Does anyone know how to create a program that takes the $ amount for 8 different departments and gi

couldn't connect to your database
Hello I am new to php mysql

Actually i have read A tutorial on nettuts
"http://net.tu

need good snippet manager
Hi. as i am coding and learning more, it is becoming difficult to manage code snippets. how you mana

pointer 102 question
I read a book
1
2
3
4
5
6
7
8
9
10
11
12
int main() {

MASS PM
Hello all, I'm trying to send mass private messages to users in my database but keep getting an erro

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash