What are Key-Value pairs ?
Key-Value pairs are a common data handling method used in web development. Its easy to keep and manipulate the data in Key-value pairs when we do programming. When we pass the data to another page,function or external source we can associate the values we want to pass with a key.
Example: name=John&age=23
                
                There are 2 key-value pairs seperated by ‘&’ sign. name=john and age=23 are the 2 pairs.
Why do we have to convert key-value pairs ?
Normally we get this key value pairs as a long string. To access a specific value we need to break this string in to key-value pairs.
How can we convert string into key-value pairs ?
- First we have to break the string using the key-value pair separator
 - In the previous example ‘&’ is the key-value pair separator
 - Next we have to break the string using the key-value separator
 - In the previous example ‘=’ is the key-value separator
 - Then we can assign the key and value to stranded class object and use in development.
 
Source Code
function convertStringToKeyValuePairs($stringToConvert, $pairSeperator, $keyValueSeperator) {
    $pairs = explode($pairSeperator, $stringToConvert);
    $obj = new StdClass();
    foreach ($pairs as $num => $pair) {
        $break_pair = explode($keyValueSeperator, $pair);
        $obj->$break_pair[0] = $break_pair[1];
    }
    return $obj;
}
                
Code Explanation
- First we have to parse the string , pair separator and key-value separator to convertStringToKeyValuePairs() function
 - explode inside the function will break the string to an array of key-value pairs
 - Then we have to traverse through each key-value pair using a loop (for,foreach or while)
 - Inside the loop , key-value pair will be broken into a array ($break_pair) using key-value separator.
 - Next we assign the key ($break_pair[0]) as a variable of php standard class object and value ($break_pair[1] ) as the value of the variable.
 - Then we can access the values using $obj->$key.
 
How To Use
include_once 'key_value_converter.php' $str = "name=hiller&age=34"; $obj = convertStringToKeyValuePairs($str, "&", "="); echo $obj->name; echo $obj->age;
Examples for Key-Value Pairs
- Passing the values in url string and accessing with $_GET.
 - Accessing the values in an associative array.
 - Using the values returned from Paypal instant payment notification
 
      
 
        
Leave a Reply