簡體   English   中英

在PHP中讀取和存儲JSON數據中的變量

[英]Read and store variables from JSON data in PHP

我有以下ID號為JSON的數據。 在末尾:

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

我要特別獲取John的Email:並將其存儲在變量$ johnemail中,以便$ johnemail =='John@bar.com'

最簡單的方法是什么?

使用json_decodearray_column (從PHP 5.5開始可用)和array_search函數的簡單解決方案:

$json_data = '[{"Name":"malek","Email":"malek@bar.com","Donation":"5","Type":"Cash","id":0},{"Name":"donnie","Email":"donnie@bar.com","Donation":"6","Type":"Cheque","id":1},{"Name":"ramanuj","Email":"ramanuj@bar.com","Donation":"3","Type":"NEFT","id":2},{"Name":"neha","Email":"neha@bar.com","Donation":"2","Type":"RTGS","id":3},{"Name":"aasha","Email":"aasha@bar.com","Donation":"1","Type":"CC","id":4},{"Name":"zia","Email":"zia@bar.com","Donation":"6","Type":"PayU","id":5},{"Name":"John","Email":"John@bar.com","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);  // "John@bar.com"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM