Xem Nhiều 1/2023 #️ Php — Phân Tích Đối Tượng Json Trong Php Sử Dụng Json # Top 1 Trend | 3mienmoloctrungvang.com

Xem Nhiều 1/2023 # Php — Phân Tích Đối Tượng Json Trong Php Sử Dụng Json # Top 1 Trend

Cập nhật thông tin chi tiết về Php — Phân Tích Đối Tượng Json Trong Php Sử Dụng Json mới nhất trên website 3mienmoloctrungvang.com. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất.

Tôi đã cố gắng yêu cầu thời tiết từ một dịch vụ web cung cấp dữ liệu ở định dạng JSON. Mã yêu cầu PHP của tôi, không thành công là:

$url="http://www.worldweatheronline.com/feed/weather.ashx?q=schruns,austria&format=json&num_of_days=5&key=8f2d1ea151085304102710"; $json = file_get_contents($url); $data = json_decode($json, TRUE);

Đây là một số dữ liệu đã được trả lại. Một số chi tiết đã bị cắt ngắn để cho ngắn gọn, nhưng tính toàn vẹn của đối tượng được giữ lại:

{ "data": { "current_condition": [ { "cloudcover": "31", ... } ], "request": [ { "query": "Schruns, Austria", "type": "City" } ], "weather": [ { "date": "2010-10-27", "precipMM": "0.0", "tempMaxC": "3", "tempMaxF": "38", "tempMinC": "-13", "tempMinF": "9", "weatherCode": "113", "weatherDesc": [ {"value": "Sunny" } ], "weatherIconUrl": [ {"value": "http://www.worldweatheronline.com/images/wsymbols01_png_64/wsymbol_0001_sunny.png" } ], "winddir16Point": "N", "winddirDegree": "356", "winddirection": "N", "windspeedKmph": "5", "windspeedMiles": "3" }, { "date": "2010-10-28", ... }, ... ] } } }

Json Parsing: Phân Giải Dữ Liệu Json Với Php

Trong bài hướng dẫn tự học Lập trình PHP này, bạn sẽ dược học cách mã hóa (endcode) và giải mã (decode) dữ liệu JSON với PHP.

Vậy,

JSON là gì?

JSON là từ viết tắt của Javascript Object N otation. JSON là một định dạng tiêu chuẩn trong trao đổi dữ liệu nhẹ, nhanh chóng và dễ dàng tạo (generate) và phân tích (parse).

JSON, giống như XML, là một định dạng dựa trên văn bản, dễ viết và dễ hiểu cho cả con người và máy tính.

Nhưng không giống như XML, các cấu trúc dữ liệu JSON chiếm ít băng thông hơn các phiên bản XML của chúng.

Dữ liệu kiểu JSON dựa trên hai cấu trúc cơ bản:

Object: Được định nghĩa là một tập hợp các cặp key / value (nghĩa là key: value). Mỗi đối tượng bắt đầu bằng dấu ngoặc nhọn trái { và kết thúc bằng dấu ngoặc nhọn phải }. Có nhiều cặp key / value được phân tách bằng dấu phẩy , .

Array: Được định nghĩa là một danh sách các giá trị được sắp xếp. Một mảng bắt đầu bằng dấu ngoặc vuông trái [ và kết thúc bằng dấu ngoặc vuông phải ]. Các giá trị được phân tách bằng dấu phẩy , .

Trong JSON, các key luôn là các string, trong khi giá trị có thể là một string, number, true hoặc false, null, thậm chí là một Object hoặc một Array.

Các string phải được đặt trong dấu ngoặc kép “” và có thể chứa các ký tự thoát như n, t và .

Một đối tượng JSON có thể trông như thế này:

Ví dụ về JSON Object theo cấu trúc Object

{ "book": { "Tên": "Lập trình viên PHP", "Chữ ký": "PHP Dev", "Năm": 2019, "Loại": "Công nghệ", "Nổi tiếng": true } }

Ví dụ về JSON Object theo cấu trúc Array

Ghi chú:

Cấu trúc dữ liệu JSON rất giống với mảng của PHP. PHP có các hàm dựng sẵn để encode và decode dữ liệu JSON.

Các hàm này lần lượt là json_encode() và json_decode(). Cả hai chức năng chỉ hoạt động với dữ liệu chuỗi được mã hóa theo chuẩn UTF-8.

Endcoding dữ liệu JSON bằng PHP

Trong PHP, chúng ta sử dụng hàm json_encode() được sử dụng để mã hóa một giá trị thành định dạng JSON.

Kết quả nhận được như sau:

{"Khánh":27,"Đức":32,"Huyền":35,"Thúy":30}

Tương tự…

Bạn có thể mã hóa mảng chỉ số trong PHP thành một mảng JSON, như thế này:

Kết quả nhận được là:

["Đỏ","Xanh","Vàng","Lục","Lam"]

Kết quả nhận được là:

{"Đỏ","Xanh","Vàng","Lục","Lam"}

Như bạn có thể thấy trong các ví dụ trên, một mảng không kết hợp có thể được mã hóa thành mảng hoặc đối tượng. Tuy nhiên, một mảng kết hợp luôn được mã hóa dưới dạng đối tượng.

Decoding dữ liệu JSON bằng PHP

Decoding dữ liệu JSON đơn giản như Endcoding nó. Bạn có thể sử dụng hàm json_decode() của PHP để chuyển đổi chuỗi được mã hóa JSON thành kiểu dữ liệu PHP phù hợp.

Ví dụ sau minh họa cách decoding hoặc chuyển đổi một đối tượng JSON thành đối tượng trong PHP.

Kết quả của ví dụ trên sẽ trông giống như thế này:

Theo mặc định, hàm json_decode() trả về một đối tượng. Tuy nhiên, bạn có thể tùy ý chỉ định tham số thứ hai $assoc chấp nhận giá trị boolean mà khi:

Còn mặc định là false

Đây là ví dụ:

Kết quả nhận được:

Tiếp theo, hãy xem một ví dụ sẽ chỉ cho bạn cách decoding JSON data và cách truy cập các phần tử riêng lẻ của đối tượng JSON hoặc mảng trong PHP.

Bạn cũng có thể lặp qua dữ liệu được decoding bằng vòng lặp foreach(), như thế này:

Hướng dẫn trích xuất các giá trị từ dữ liệu JSON lồng nhau trong PHP

Trong khi làm việc với JSON, các đối tượng và mảng JSON cũng có thể được lồng nhau. Một đối tượng JSON có thể tùy ý chứa các đối tượng JSON, mảng, mảng lồng nhau, mảng đối tượng JSON, v.v.

Ví dụ sau sẽ chỉ cho bạn cách giải mã một đối tượng JSON lồng nhau và in tất cả các giá trị của nó trong PHP .

Tổng kết

Như vậy là qua bài này bạn đã được học về cách endcode và decode dữ liệu JSON trong PHP.

Đây là một dạng dữ liệu trao đổi giữa các nền tảng rất phổ biến. Hãy thực hành lại các ví dụ để chắc chắn bạn đã hiểu và nắm được các thao tác với dữ liệu JSON bằng PHP.

Json Là Gì Và Sử Dụng Json Như Thế Nào

Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu về một kiểu định dạng dữ liệu được sử dụng rất phổ biến trong việc phát triển ứng dụng đó là JSON. Vì tính phổ biến của JSON nên gần như nếu bạn gặp một developer có kinh nghiệm thì chắc chắn anh ta sẽ không lạ gì với kiểu dữ liệu này.

JSON Là Gì

JSON là một kiểu định dạng dữ liệu trong đó sử dụng văn bản thuần tuý, định dạng JSON sử dụng các cặp key – value để dữ liệu sử dụng .

{ "name" : "PHPStorm", "version" : "16.0.1", "license" : "commercial" }

Tập tin json có thể được lưu với bất kỳ phần mở rộng nào, tuy nhiên thông thường thì nó được lưu dưới phần mở rộng là .json hoặc .js.

JSON ban đầu được phát triển để dành phục vụ cho ứng dụng viết bằng JavaScript. Bản thân thuật ngữ JSON là viết tắt của cụm từ JavaScript Object Notation . Tuy nhiên vì JSON là một định dạng dữ liệu nên nó có thể được sử dụng bởi bất cứ ngôn ngữ nào àm không giới hạn với JavaScript.

Sử Dụng JSON

Một trường hợp khá phổ biến trong JavaScript mà dữ liệu được định dạng theo format JSON xuất hiện đó là trong các AJAX request. Ví dụ bạn lưu tập tin application_info.json ở thư mục gốc của server (để khi truy cập vào URL http://localhost/application_info.json thì server trả về nội dung của tập tin này) và sau đó bạn tạo một tập tin json_ajax.html với nội dung như sau:

Đoạn code trên sử dụng $.ajax() để gửi AJAX request lên server lấy về nội dung tập tin application_info.json. Sau khi lấy về nội dung tập tin này thành công, dữ liệu sẽ được chuyển vào biến response. Nếu bạn mở developer console của trình duyệt lên (thông thường sử dụng phím F12) bạn sẽ thấy kiểu dữ liệu của biến response này được JavaScript object với các thuộc tính như name, version, license.

Sử Dụng JSON Với PHP

Giống như JavaSCript, PHP cũng hỗ trợ dữ liệu định dạng JSON.

<?php $json_string = <<<DOC { "name" : "PHPStorm", "version" : "16.0.1", "license" : "commercial" } DOC; $arr = json_decode($json_string, true); print_r($arr);

Đoạn code trên sử dụng hàm json_decode để decode dữ liệu được lưu trong biến $json_string. Biến $json_string lúc này có kiểu dữ liệu là String của PHP nhưng đồng thời chuỗi này cũng hỗ trợ định dạng JSON.

Kết quả trả về của đoạn code trên sẽ như sau:

Tới đây chúng ta đã kết thúc việc tìm hiểu về kiểu format JSON và cách ứng dụng kiểu dữ liệu này trong hai ngôn ngữ là JavaScript và PHP.

Câu Lệnh If Else Trong Php

Các vấn đề ta đề cập từ đầu bài cho đến nay chỉ cho phép chúng ta viết chương trình chạy theo một trình tự từ trên xuống và không bỏ qua một đoạn code nào ( trừ phần ghi chú ). Tuy nhiên trong thực tế không phải lúc nào ta cũng muốn chương trình chạy hết các dòng lệnh đó. Vì thế câu lệnh if else trong php ra đời giúp ta giải quyết vấn đề này.

1. Câu lệnh điều kiện là gì ?

Câu lệnh điều kiện if else cho phép ta thay đổi luồng của chương trình dựa trên một điều kiện nào đó. Nếu điều kiện là đúng (true) thì chương trình sẽ được thực hiện, ngược lại nếu điều kiện đưa ra là sai (false) thì nội dung công việc đó sẽ không được thực hiện.

Ví dụ: để kiểm tra một số là số chẵn hay số lẻ ta thực hiện các bước sau:

2. Câu lệnh điều kiện if

Câu lệnh if cho phép ta đưa ra các quyết định dựa trên việc kiểm tra điều kiện nào đó đúng (true) hay sai (false). Cú pháp như sau:

if ($bieuthuc) { }

Ví dụ: Chương trình kiểm tra một số chẵn hay lẻ

$so_can_kiem_tra = 12; $so_du = $so_can_kiem_tra % 2; if ($so_du == 0){ echo 'Số '.$so_can_kiem_tra.' Là Số Chẵn'; }

Dòng thứ 1: Gán cho biến $so_can_kiem_tra giá trị = 12

Dòng thứ 2: Chia biến $so_can_kiem_tra / 2 và lấy số dư của phép chia (toán tử % dùng để chia lấy số dư, nếu bạn chưa biết toán tử này vui lòng đọc lại bài toán tử và biểu thức trong php).

Dòng thứ 3: Kiểm tra số dư có bằng 0 hay không? Nếu bằng không thì nó sẽ chạy dòng lệnh bên trong thẻ mở { và thẻ đóng }. Nội dung câu lệnh bên trong sẽ xuất ra màn hình thống báo là số chẵn.

Biểu Thức chứa trong cặp dấu ngoặc () chính là các biêu thức quan hệ

Toán tử dấu chấm . dùng để nối hai chuỗi lại với nhau.

Trong một khối lệnh nếu bên trong chứa nhiều hơn 2 lệnh thì phải có cặp ngoặc nhọn {} dùng để mở khối lệnh và đóng khối lênh, như vậy trình biên dịch sẽ hiểu đây là một khối lệnh và nó sẽ thực thi hết khối lệnh này. Ở ví dụ trên trong câu if chỉ có một lệnh xuất ra màn hình nên cặp ngoặc nhọn này ta có thể có hoặc không có cũng không sao.

Ví dụ: Chương trình kiểm tra có phải năm nhuận hay không?

(Năm nhuận là năm chia hết cho 4 hoặc 400 nhưng không chia hết cho 100)

Bước 1: Nhập vào năm cần kiểm tra.Bước 2: kiểm tra xem năm đó có chia hết cho 4 hoặc là 400 hay khôngBước 3: Xuất ra màn hình nếu điều kiện ở bước 2 là đúng.

Bài giải:

$nam = 1990; if ($kiem_tra == true){ echo 'Năm ' . $nam . ' Là Năm Nhuận'; }

3. Câu lệnh If else trong php

Lệnh if dùng để kiểm tra một điều kiện có đúng hay không? Giả sử trường hợp ngược lại điều kiện không đúng thì sẽ thực hiện điều gì ? để giải đáp câu hỏi này ta sẽ nghiên cứu đến lệnh if else trong php

if ($bieuthuc){ } else{ }

Nếu $bieuthuc đúng thì Những Câu Lệnh 1 sẽ được thực hiện và Những Câu Lệnh 2 sẽ không được thực hiện.

Ngược lại thì nó sẽ không cần kiểm tra nữa và thực hiện Những Câu Lệnh 2.

Ví dụ: kiểm tra năm nay là năm chẵn hay năm lẽ, xuất ra màn hình kết quả chẵn hay lẽ.

Bước 1: Nhập nămBước 2: Chia cho 2 và lấy số dưBước 3: Kiểm tra xem số dư có bằng 0 hay không? Nếu bằng không là năm chẵn, ngược lại là năm lẽ

$nam = 2014; $so_du = $nam % 2; if ($so_du == 0){ echo 'Năm ' . $nam . ' Là Năm Chẵn'; } else{ echo 'Năm ' . $nam . ' Là Năm Lẻ'; }

Giải thích

Bước 1: Nhập vào biến $nam giá trị 2014;Bước 2: Lấy số dư khi chia năm 2014 cho 2 và gán vào biến$so_du (lúc này số dư = 0)Bước 3: Kiểm tra xem $so_du == 0 hay không? vì số dư bằng 0 nên thõa mãn điều kiện nên nó chạy vào biểu thức trong khối if và xuất ra màn hình “Năm 2014 Là Năm Chẵn”. Nó sẽ không đoạn code ở trong câu lệnh else.

Giả sử ta nhập $nam =2013 ta thực hiện tương tự:

Bước 1: Nhập vào biến $nam giá trị 2013Bước 2: Lấy số dư khi chia năm 2014 cho 2 và gán vào biến $so_du (lúc này số dư = 1)Bước 3: Kiểm tra xem $so_du == 0 hay không? vì số dư bằng 1 khác 0 nên nó sẽ bỏ qua khối lệnh trong if và chạy vào khối lệnh trong else nên xuất ra màn hình “Năm 2013 Là Năm Lẻ”.

4. Kết hợp nhiều câu lệnh if else trong php

Trong thực tế không phải lúc nào cũng chỉ có 2 điều kiện mà sẽ có hàng chục điều kiện khác nhau, lúc này ta phải kết hợp nhuần nhuyễn giữa 2 lệnh if và else để xử lý.

Ví dụ: Nhập vào một màu và kiểm tra:

Nếu là màu xanh thì xuất ra màn hình dòng chữ “Đây Là Màu Xanh”.

Nếu là màu đỏ thì xuất ra dòng chữ “Đây là màu đỏ”.

Nếu là màu vàng thì xuất ra dòng chữ “Đây là màu vàng”.

Các màu còn lại thì xuất ra dòng chữ “Các màu khác”.

Hướng dẫn:

Nếu màu bằng ‘màu xanh’ thì xuất ra màn hình “Đây là màu xanh”,

Ngược lại nếu bằng ‘màu đỏ’ thì xuất ra màn hình “Đây là màu đỏ”,

Ngược lại nếu bằng ‘màu vàng’ thì xuất ra màn hình ‘Đây là màu vàng’,

Ngược lại không cần kiểm tra gì nữa vì là trương hợp cuối cùng, không phải là các trưởng hợp ở trên nên ta xuất ra màn hình “Các màu khác”.

Bài giải:

$mau = 'màu xanh'; if ($mau == 'màu xanh'){ echo 'Đây là màu xanh'; } else if ($mau == 'màu đỏ') { echo "Đây là màu đỏ"; } else if ($mau == 'màu vàng'){ echo 'Đây là màu vàng'; } else{ echo 'Các màu khác'; }

Giải thích:

Bước 2: Đến dòng lệnh kiểm tra phải màu xanh không, vì nó bằng ‘màu xanh’ nên bên trong khối lệnh if của màu xanh sẽ được chạy và xuất ra màn hình dòng chữ “Đây là màu xanh”, đồng thời nó không chạy các dòng lệnh bên dưới nữa.

Giả sử ta nhập biến $mau = 'màu vàng' thì các bước chạy sẽ như sau:

Bước 1: Nhập màu vàng vào biến $mauBước 2: Đến dòng lệnh kiểm tra có phải màu xanh không? Vì không đúng nên bỏ qua khối lệnh nàyBước 3: Đến dòng lệnh kiểm tra phải màu đỏ không? Vì không đúng nên cũng bỏ qua khối lệnh màu đỏ nàyBước 4: Đến dòng lệnh kiểm tra có phải màu vàng không, Vì đúng nên bên trong khối màu vàng sẽ được chạy và in ra màn hình chữ “Đây là màu vàng” và đồng thơi không chạy vào câu lệnh else ở bên dưới vì đã đúng điều kiện

Giả sử ta nhập biến $mau = 'màu nâu' thì như thế nào? Tương tự trình biên dịch sẽ kiểm tra lần lược các màu xanh, đỏ, vàng đều không đúng, ở cái else cuối cùng là trường hợp còn lại của các trường hợp trên nên nó không cần kiểm tra và chạy thẳng vào luôn nên màn hình sẽ in ra dòng chữ “Các màu khác”.

Note: Ta có thể chuyển dòng code thành ngôn ngữ bình thường được, ví dụ như bài toán trên tôi sẽ chuyển sang tiếng việt như sau: Nếu màu xanh thì tôi xuất ra màn hình dòng chữ “đây là màu xanh”, ngược lại nếu màu đỏ thì tôi xuất ra màn hình dòng chữ “Đây là màu đỏ”, ngược lại nếu màu vàng thì tôi xuất ra màn hình dòng chữ “Đây là màu vàng”, không phải các trường hợp trên thì tôi xuất ra màn hình dòng chữ “Các màu khác”.

5. Câu lệnh if else lồng nhau

Đây là phần khó nhất trong tất cả các vấn đề của câu lệnh if else trong php, ở bên trên ta chỉ chạy câu lệnh if else một tầng, ở phần này ta sẽ nghiên cứu đến if else nhiều tầng lồng nhau, có nghĩa là câu if con nằm trong câu if cha.

if ($bieu_thuc_cha) { if ($bieu_thuc_con){ } }

Ví dụ: Kiểm tra sô nhập vào có phải là số chẵn hay không? Nếu là số chẵn thì kiểm tra tiếp số đó có lớn hơn100 hay không, nếu lớn hơn 100 thì xuất ra màn hình “Số chẵn và lớn hơn 100″, ngược lại xuất ra màn hình “Số chẵn và nhỏ hơn 100″.

Bước 1: Nhập vào một sốBước 2: Kiểm tra có phải số chẵn hay không, nếu là số chẵn thì qua bước 3Bước 3: Kiểm tra số đó lớn hơn 100 hay không, nếu lớn hơn thì xuất ra màn hình “Số chẵn và lớn hơn 100″, ngược lại xuất ra màn hình “Số chẵn và nhỏ hơn 100″.

Bài giải:

$so = 80; if ($so % 2 == 0) { echo 'Số chẵn và lớn hơn 100'; } else if ($so < 100){ echo 'Số chẵn và nhỏ hơn 100'; } }

Qua phần ghi chú tôi đã giải thích cho các bạn nó xử lý như thế nào rồi nên có lẽ tôi không giải thích gì thêm cho phần này vì nó cũng tương tự như những phần trên, chỉ khác nhiều câu lệnh if lồng nhau. Nếu các bạn vẫn chưa hiểu thì qua phần bài tập có lời giải ở cuối bài các bạn đọc kỹ và gõ theo rồi xem kết quả là sẽ hình dung được.

6. Lời kết

Bạn đang xem bài viết Php — Phân Tích Đối Tượng Json Trong Php Sử Dụng Json trên website 3mienmoloctrungvang.com. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!