After a long time I write a post.
See this array :-
$data = array (
"key 1" => "a bc",
"key 2" => array ("sub 1" => "ab c", "sub 2" => "def"),
"key 3" => "gh i"
);
key name is with some space. So you can not use it directly by its key name.
One solution:-
foreach ($load_data as $key=>$value) {
$fname = $value->{"First Name"};
$lname = $value->{"Last Name"};
}
you can use curly brackets {} with "" double quote.
Second method:-
function fixArrayKey(&$arr)
{
$arr = array_combine(
array_map(
function ($str) {
return str_replace(" ", "_", $str);
},
array_keys($arr)
),
array_values($arr)
);
foreach ($arr as $key => $val) {
if (is_array($val)) {
fixArrayKey($arr[$key]);
}
}
}
$data = array (
"key 1" => "a bc",
"key 2" => array ("sub 1" => "ab c", "sub 2" => "def"),
"key 3" => "gh i"
);
echo "<pre>";print_r($data);echo "</pre>";
echo "<hr>";
fixArrayKey($data);
echo "<pre>";print_r($data); echo "</pre>";