4

I would like to extract the following data from my JSON:

$name = 'Doron';
$email = 'doron@myemail.com';
$phone = '0501234567';

It is a multidimensional array. Email has a key type:email,phone has type:tel and name has the id:name

$myJson = '[
{
"name":
{"id":"name","type":"text","title":"","value":"Doron","raw_value":"Doron", "required":"0"}
,
"email":
{"id":"email","type":"email","title":"","value":"doron@myemail.com", "raw_value":"doron@myemail.com","required":"1"},
"4729ed5":
{"id":"4729ed5","type":"tel","title":"","value":"0501234567", "raw_value":"0501234567","required":"0"}
}]';

// Convert JSON string to Array
$FieldsArray = json_decode($myJson, true);
Cœur
  • 37,241
  • 25
  • 195
  • 267
salman ifrahim
  • 371
  • 3
  • 8

1 Answers1

2

You can access those values like this

$myJson = '[
{
"name":
{"id":"name","type":"text","title":"","value":"Doron","raw_value":"Doron", "required":"0"}
,
"email":
{"id":"email","type":"email","title":"","value":"doron@myemail.com", "raw_value":"doron@myemail.com","required":"1"},
"4729ed5":
{"id":"4729ed5","type":"tel","title":"","value":"0501234567", "raw_value":"0501234567","required":"0"}
}]';

// Convert JSON string to Array
$FieldsArray = json_decode($myJson, true);

$name = '';
$email = '';
$phone = '';

foreach ($FieldsArray[0] as $key=>$field) {

    if($field['id'] == 'name') {
        $name = $field['value'];
    } elseif($field['type'] == 'email') {
        $email = $field['value'];
    } elseif($field['type'] == 'tel') {
        $phone = $field['value'];
    }
}
Shashin Bhayani
  • 1,551
  • 3
  • 16
  • 37