2016-07-09 3 views
0

У меня есть следующие данные JSON с идентификатором нет. в конце:Чтение и сохранение переменных из данных JSON в PHP

[{"Name":"malek","Email":"[email protected]","Donation":"5","Type":"Cash","id":0},{"Name":"donnie","Email":"[email protected]","Donation":"6","Type":"Cheque","id":1},{"Name":"ramanuj","Email":"[email protected]","Donation":"3","Type":"NEFT","id":2},{"Name":"neha","Email":"[email protected]","Donation":"2","Type":"RTGS","id":3},{"Name":"aasha","Email":"[email protected]","Donation":"1","Type":"CC","id":4},{"Name":"zia","Email":"[email protected]","Donation":"6","Type":"PayU","id":5},{"Name":"John","Email":"[email protected]","Donation":"7","Type":"Instamojo","id":6}] 

Я хочу конкретно получить e-mail: Джона и сохранить его в переменной $ johnemail, так что $ johnemail == «» [email protected]

Что может быть самый простой способ сделать это?

+0

'json_decode'? – RomanPerekhrest

ответ

0

Простое решение с использованием json_decode, array_column (доступна с PHP 5.5) и array_search функции:

$json_data = '[{"Name":"malek","Email":"[email protected]","Donation":"5","Type":"Cash","id":0},{"Name":"donnie","Email":"[email protected]","Donation":"6","Type":"Cheque","id":1},{"Name":"ramanuj","Email":"[email protected]","Donation":"3","Type":"NEFT","id":2},{"Name":"neha","Email":"[email protected]","Donation":"2","Type":"RTGS","id":3},{"Name":"aasha","Email":"[email protected]","Donation":"1","Type":"CC","id":4},{"Name":"zia","Email":"[email protected]","Donation":"6","Type":"PayU","id":5},{"Name":"John","Email":"[email protected]","Donation":"7","Type":"Instamojo","id":6}]'; 

$search_name = 'John'; 
$items = json_decode($json_data, TRUE); 
$emails = array_column($items, 'Name', 'Email'); // email is good for using as array key, as it should be unique 
$johnemail = array_search($search_name, $emails); // note that this is case-sensitive search 

print_r($johnemail); // "[email protected]" 
+0

@ DonnieAshok, если он работает на вас, вы пытались принять ответ? – RomanPerekhrest

+0

Извините, но не знаю! Новое для stackoverflow. Благодаря! –

+0

@ DonnieAshok, это нормально – RomanPerekhrest

Смежные вопросы