Khóa Học – Tân Hồng IT http://localhost:82/demowp Siêu Chia Sẻ Kiến Thức, Công Nghệ, Phần Mềm, Thủ Thuật, Tiện Ích Máy Tính Thu, 06 Feb 2020 16:21:00 +0000 en-US hourly 1 https://wordpress.org/?v=5.3.2 http://localhost:82/demowp/wp-content/uploads/2019/04/logo-TanHongIT-one-75x75.png Khóa Học – Tân Hồng IT http://localhost:82/demowp 32 32 Bài 13: Phương thức GET và POST trong PHP http://localhost:82/demowp/learn-php/bai-13-phuong-thuc-get-va-post-trong-php/ http://localhost:82/demowp/learn-php/bai-13-phuong-thuc-get-va-post-trong-php/#respond Thu, 06 Feb 2020 09:06:37 +0000 http://localhost:82/demowp/?p=7740 Tiếp tục series học PHP căn bản, ở bài 13 này chúng ta sẽ học về 2 phương thức truyền tải dữ liệu thông dụng trong mô hình Client-Server đó là Get và Post. Các bạn có thể xem lại khái niệm của Client-Server.  Như chúng ta đã biết thì đa số các trang web […]

The post Bài 13: Phương thức GET và POST trong PHP appeared first on Tân Hồng IT.

]]>
Tiếp tục series học PHP căn bản, ở bài 13 này chúng ta sẽ học về 2 phương thức truyền tải dữ liệu thông dụng trong mô hình Client-Server đó là GetPost. Các bạn có thể xem lại khái niệm của Client-Server. 

phuong thuc get post trong php
Phương Thức Get và Post Trong PHP

Như chúng ta đã biết thì đa số các trang web hiện nay đang hoạt động theo mô hình client-server. Việc truyền gửi dữ liệu giữa clientserver rất thường xuyên diễn ra và vô cùng quan trọng.

Khi các bạn đăng nhập hay đăng ký tài khoản, hoặc là các bạn đăng comment, gửi thông báo đến quản trị web thì dữ liệu sẽ được gửi từ client lên Server, vậy làm sao để Server nhận được những thông tin của bạn? Server sẽ nhận được thông qua hai phương thức POST và GET.

Phương thức GET trong PHP

Khi người dùng phía client sử dụng phương thức GET gửi dữ liệu lên server thông qua các tham số (parameter) trên thanh địa chỉ URL của Browser. Các tham số trên URL bắt đầu bằng dấu chấm hỏi ( ? ) và được ngăn cách với nhau bởi dấu và ( & ). Server sẽ phân tích tất cả những thông tin đằng sau dấu hỏi (?) chính là phần dữ liệu mà Client gửi lên.

Ví dụ: ta có URL http://localhost:82/demowp/?p=7740&preview=true

Khi truy cập, từ Server sẽ hiểu giá trị p = 7740 và giá trị preview = true.

Lưu ý 1: khi muốn truyền nhiều cặp giá trị lên Server chúng ta sẽ sử dụng dấu và ( & ), và vị trí các cặp giá trị không quan trọng. Nghĩa là từ ví dụ trên, giá trị preview nằm trước giá trị p cũng được.

Đó là ví dụ về phần Client truy cập từ thanh địa chỉ URL. Chúng ta bây giờ sẽ chuyên sang các vấn đề trong code PHP.

Trong code khi các dữ liệu mà Client gửi lên bằng phương thức GET đều được lưu trong một biến toàn cục mà PHP tự tạo ra đó là biến $_GET. ( $_GET là một biến toàn cục lưu trữ dưới dạng mảng bất tuần tự.)

<?php
$_GET = [
    'name' => 'TanHongIT',
    'website' => 'tanhongit.net'
];
?>  //biến $_GET là một mảng chứa nhiều phần tử

Lưu ý về phương thức GET trong PHP

  • Phương thức GET được giới hạn gửi tối đa chỉ 1024 ký tự.
  • Không bao giờ sử dụng phương thức GET nếu gửi password hoặc thông tin nhay cảm lên Server.
  • GET không thể gửi dữ liệu nhị phân, ví dụ như hình ảnh hoặc các loại tài liệu lên Server.
  • Dữ liệu gửi bởi phương thức GET có thể được truy cập bằng cách sử dụng biến môi trường QUERY_STRING.
  • PHP cung cấp mảng liên hợp $_GET để truy cập tất cả các thông tin đã được gửi bởi phương thức GET.

Ví dụ thực hành

Ví dụ 1: Bạn khởi tạo 1 file demo.php nằm trong thư mục WWW của WampServer hoặc tạo trong thư mục htdocs nếu bạn dùng Xampp, sau đó bạn dán đoạn code bên dưới vào.

<?php
$_GET = [
    'title' => 'TanHongIT',
    'website' => 'tanhongit.net'
];
?> 
<!DOCTYPE html>
<html lang="en">
<body>
    <form action="<?php $_PHP_SELF ?>" method="GET">
        <?php foreach ($_GET as $key => $value){  
            echo $key . ' - ' . $value . '<br>';
        } ?>
        <input type="submit">
    </form>
</body>
</html>

khi truy cập vào http://localhost/demo.php?title=tanhongit&website=tanhongit.net hoặc http://localhost//demo.php thì kết quả đều ra như sau:

title - TanHongIT
website - tanhongit.net

Ở ví dụ trên mình sử dụng phương thức GET ngay trong 1 file duy nhất, mình đã sử dụng vòng lặp Foreach để lấy toàn bộ key và value có trong biến $_GET là một mảng có nhiều phần tử.

GET còn có thể sử dụng để truyền dữ liệu từ file này sang file khác. hãy làm tiếp ví dụ 2.

Ví dụ 2: Tạo 2 file, 1 file có tên get_demo.php và một file demo.html

Đầu tiên, ở trong file demo.html ta sẽ tạo 1 form để lấy dữ liệu nhập vào từ bàn phím và gửi lên server.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div class="container">
        <form action="get_demo.php" method="GET"> <!--thêm thuộc tính action chuyển hướng đến file get_demo.php -->
            <div class="form-group">
                <label for="">Title</label>
                <input type="text" class="form-control" id="" placeholder="Nhập vào title..." name="title"> <!--tạo một trường có tên là title để truyền dữ liệu lên file get_demo.php-->
            </div>

            <div class="form-group">
                <label for="">Website</label>
                <input type="text" class="form-control" id="" placeholder="Nhập vào url website..." name="web"> <!--tạo một trường có tên là web để truyền dữ liệu lên file get_demo.php-->
            </div>

            <button type="submit" class="btn btn-primary">Submit</button>
        </form>
    </div>
</body>
</html>

Ở file demo.html mình có tạo 2 trường nhập liệu trong form có tên là title web để truyền dữ liệu nhập từ bàn phím vào file get_demo.php

Tiếp theo ta viết code để phía Server xuất ra màn hình sau khi nó đã nhận dữ liệu được nhập vào từ file demo.html thông qua file get_demo.php

<?php
echo 'Kết quả nhập liệu của bạn là: <br>';
echo 'Title: ' . $_GET['title'] . '<br>';
echo 'Website: ' . $_GET['web'];

Hãy test thử bằng cách chạy file demo.html lên theo đường link http://localhost/demo.html sau đó nhập vào các trường dữ liệu và nhấn vào button Submit. Lập tức Server sẽ tự động chuyển link sang file get_demo.php và xuất ra thông tin bạn đã nhập liệu.

demo get php url method get php

Lưu ý 2: Vì đây là phương thức GET nên khi truyền dữ liệu bạn sẽ có 2 cách truyền, 1 là truyền dữ liệu từ form sau đó gửi lên Server, 2 là ta có thể truyền tham số trực tiếp thông qua paramter trên địa chỉ URL.

Ví dụ: http://localhost/get_demo.php?title=hello&web=chaomoinguoi.com

Kết quả nhận được sau khi Enter sẽ như hình dưới:

Lưu ý 3: Dùng phương thức GET thì dữ liệu luôn được gửi một cách tường minh, chúng ta có thể thấy mọi thông tin trên URL và có thể chỉnh sửa trực tiếp cho nên nó không bảo mật tốt.
Vì thế khi muốn tạo dữ liệu nào đó ta không nên sử dụng phương thức GET mà phải dùng POST vì GET luôn để lộ thông tin trên địa chỉ URL nên rất dễ bị hack đánh cắp dữ liệu.

Phương thức POST trong PHP

Phương thức POST sẽ trái ngược với phương thức GET về tính bảo mật cũng như tốc độ.

Về phương thức GET, chúng ta có thể xem thông tin trên thanh địa chỉ URL, dữ liệu được gửi đi bằng GET sẽ thông qua các paramter trên URL. POST thì ngược lại, nó không gửi dữ liệu đi bằng paramter trên URL mà thông qua HTTP header, vì vậy việc bảo mật phụ thuộc vào giao thức HTTP mà website đó đang sử dụng.

Parameters được truyền trong request body nên có thể truyền dữ liệu lớn, hạn chế tùy thuộc vào cấu hình của Server. Không cache và bookmark được cũng như không được lưu lại trong browser history. POST không có bất kì hạn chế nào về kích thước dữ liệu sẽ gửi, có thể gửi dữ liệu nhị phân, hình ảnh.

Nội dung dữ liệu được gửi đi bằng phương thức POST sẽ luôn bị ẩn đi và chúng ta không thể thấy được.

Phương thức Post trong mô hình Client-Server

Các bạn hãy tìm hiểu và làm ví dụ bên dưới để hiểu cách phương thức POST truyền dữ liệu lên Server như thế nào nhé!

Phía Client gửi lên

Với phương thức GET, dữ liệu sẽ được thấy trên URL, nhưng phương thức POST thì hoàn toàn ngược lại, POST sẽ phải gửi dữ liệu qua form HTML và các giá trị sẽ được định nghĩa trong các thẻ input gồm các kiểu (textbox, radio, checkbox, password, textarea, hidden) và được nhận dang thông qua tên (name) của các thẻ input đó.

Bạn hãy tạo file demo.html trong thư mục WWW của WampServer hoặc tạo trong thư mục htdocs nếu bạn dùng Xampp và chèn đoạn code bên dưới vào.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div class="container">
        <form action="post_demo.php" method="POST"> <!--thêm thuộc tính action chuyển hướng đến file post_demo.php và sử dụng phương thức method = post-->
            <div class="form-group">
                <label for="">Title</label>
                <input type="text" class="form-control" id="" placeholder="Nhập vào title..." name="title"> <!--tạo một trường có tên (name) là title để truyền dữ liệu lên file post_demo.php-->
            </div>
            <div class="form-group">
                <label for="">Website</label>
                <input type="text" class="form-control" id="" placeholder="Nhập vào url website..." name="web"> <!--tạo một trường có tên (name) là web để truyền dữ liệu lên file post_demo.php-->
            </div>
            <button type="submit" class="btn btn-primary">Submit</button>
        </form>
    </div>
</body>
</html>

Phần code trên mục đích dùng để nhập liệu từ phía Client để gửi lên Server. Giờ chúng ta sang phần Server.

Phía Server nhận dữ liệu và trả về

Tất cả các dữ liệu gửi bằng phương thức POST đều được lưu trong một biến toàn cục $_POST do PHP tự tạo ra, vì thế từ bây giờ bạn chỉ cần thao tác lấy hoặc gửi dữ liệu thông qua biến $_POST này là được.

Ở file demo.html mình có tạo 2 trường nhập liệu trong form có tên là title web để truyền dữ liệu nhập từ bàn phím vào file post_demo.php. Tiếp theo ta sẽ code trên file post_demo.php để lấy dữ liệu và xuất ra màn hình.

<?php
echo 'Kết quả nhập liệu của bạn là: <br>';
echo 'Title: ' . $_POST['title'] . '<br>';
echo 'Website: ' . $_POST['web'];

Hãy test thử bằng cách chạy file demo.html lên theo đường link http://localhost/demo.html sau đó nhập vào các trường dữ liệu và nhấn vào button Submit. Lập tức Server sẽ tự động chuyển link sang file post_demo.php và xuất ra thông tin bạn đã nhập liệu.

demo post php

Nhưng có một điều khác biệt ở đây bạn cần quan tâm đó là khi sử dụng GET, đường dẫn URL sẽ tiết lộ bất kỳ thông tin mà bạn đã nhập liệu, còn khi đã dùng POST thì bị ẩn.

Điều này chứng minh POST sẽ có tính bảo mật hơn GETPOST sẽ phù hợp với các chức năng về tạo dữ liệu, đăng ký, đăng nhập,…

Những lưu ý cần biết trong phương thức POST trong PHP

  • Phương thức POST không có bất kì hạn chế nào về kích thước dữ liệu sẽ gửi.
  • Phương thức POST có thể sử dụng để gửi ASCII cũng như dữ liệu nhị phân.
  • Dữ liệu gửi bởi phương thức POST thông qua HTTP header, vì vậy việc bảo mật phụ thuộc vào giao thức HTTP. Bằng việc sử dụng Secure HTTP, bạn có thể chắc chắn rằng thông tin của mình là an toàn.
  • PHP cung cấp mảng liên hợp $_POST để truy cập tất cả các thông tin được gửi bằng phương thức POST.

Kiểm tra isset với GET và POST trong PHP

Trước khi lấy một dữ liệu nào đó từ client bạn phải kiểm tra nó đã tồn tại không rồi mới lấy.Vì nếu không kiểm tra trước khi lấy, phía client chưa cung cấp đầy đủ dữ liệu mà server lại nhận thì sẽ có lỗi ngay. Vì thế ở những trường hợp mà ta không chắc chắn một biến luôn tồn tại hoặc một trường dữ liệu được nhập đầy đủ thì hãy kiểm tra nó trước khi gửi request.

Để kiểm tra ta sẽ dùng hàm isset(). Hàm isset() trong PHP có chức năng kiểm tra xem biến có tồn tại hay không. Nó sẽ trả về TRUE nếu biến đó có tồn tại và ngược lại FALSE nếu biến đó không tồn tại. Hàm isset() sẽ dùng cho cả 2 phương thức GET và POST.

Cú pháp: isset($bien);

Trong đó: $bien là biến mà bạn muốn kiểm tra sự tồn tại.

Từ ví dụ về phần POST trong PHP ở trên, nếu bạn trực tiếp truy cập vào http://localhost/post_demo.php mà chưa nhập đầy đủ thông tin ở http://localhost/demo.html thì sẽ xuất hiện lỗi ngay.

Vậy từ ví dụ trên ta chỉ cần thêm vào file file post_demo.php như sau:

<?php
echo 'Kết quả nhập liệu của bạn là: <br>';
if (isset($_POST['title']) && isset($_POST['web'])) {
    echo 'Title: ' . $_POST['title'] . '<br>';
    echo 'Website: ' . $_POST['web'];
}

Bây giờ bạn hãy thử truy cập lại http://localhost/post_demo.php , nếu chưa đươc nhập đủ dữ liệu ở http://localhost/demo.html thì nó sẽ không hiện gì cả, còn nhập đầy đủ các trường dữ liệu thì nó mới hiện lên cho ta xem.

Kết luận: Hàm isset() thật sự rất hữu ích đối với chúng ta trong việc ràng buộc dữ liệu nên các bạn hãy thường xuyên sử dụng để hiểu rõ và áp dụng dễ dàng hơn sau này nhé!

So sánh giống và khác nhau giữa GET và POST

GET và POST hầu như chẳng có gì giống nhau ngoài tác dụng là truyền tải dữ liệu lên Server.

Cho nên mình sẽ nói về những đặc điểm khác nhau của 2 phương thức này nhé!

  1. Giới hạn dữ liệu: GET giới hạn gửi tối đa chỉ 1024 ký tự. Còn POST không có bất kì hạn chế nào về kích thước dữ liệu sẽ gửi.
  2. Khả năng: Phương thức POST có thể sử dụng để gửi ASCII cũng như dữ liệu nhị phân, các loại tệp, hình ảnh còn GET thì không.
  3. Tốc độ: GET nhanh hơn rất nhiều so với POST về quá trình thực thi – vì dữ liệu gửi đi luôn được web browser lưu cached lại. Khi dùng phương thức POST thì server luôn thực thi và trả kết quả cho client, còn dùng GET thì web browser cached sẽ kiểm tra có kết quả tương ứng đó trong bộ nhớ cached chưa, nếu có thì trả về ngay mà không cần đưa tới server.
  4. Bảo mật: Phương thức POST bảo mật hơn GET vì dữ liệu được gửi ngầm, không xuất hiện trên URL, mắt thường không nhìn thấy được và dữ liệu cũng không được lưu lại. Trong khi đó với GET thì dữ liệu gửi đi được tường minh bạn có thể hiển thị lại được các dữ liệu này trên URL.

Link tham khảo: https://www.diffen.com/difference/GET-vs-POST-HTTP-Requests

Khi nào nên dùng GET và POST trong PHP

Cả 2 phương thức đều có những ưu và nhược điểm khác nhau, vậy khi nào chúng ta nên dùng GET và khi nào nên dùng POST.

Phương thức GET có tốc độ thực thi nhanh như độ bảo mật lại rất kém nên GET chỉ nên dùng cho các công việc lấy dữ liệu từ server về client, như vậy quá trình truy xuất sẽ nhanh hơn.

Đối với POST sẽ có độ bảo mật cao nên phù hợp với các công việc tạo dữ liệu, upload, truyền tải thông tin lên server, những công việc mang tính bảo mật cao.

Ví dụ:

  • Khi upload hình ảnh lên web thì ta sẽ dùng POST, còn khi muốn tải ảnh từ Web server về ta sẽ dùng GET.
  • Khi đăng ký, đăng nhập hoặc comment vào một website ta sẽ dùng POST, còn khi lấy tin bài viết từ web ra thì ta dùng GET.
  • Khi request sử dụng câu lệnh select thì dùng GET, khi request có sử dụng lệnh insert update, delete thì nên dùng POST.
  • Ngoài ra khi cần xử lý các thông tin nhạy cảm ví dụ như email, password thì bạn phải sử dụng POST.

Kết thúc

Qua bài viết trên mình đã nếu ra những nội dung liên quan đến 2 phương thức method truyền tải dữ liệu thông dụng trong PHP là GET và POST. Các bạn cần phải hiểu rõ những tính chất của mỗi phương thức này và khi nào nên dùng nó tùy vào từng trường hợp cụ thể.

Nhưng có một điều lưu ý rằng những nội dung, dữ liệu quan trọng hoặc cần truyền tải một loại thông tin gì đó lên server thì ta phải dùng POST để tăng tính bảo mật cho Website nhé!

Xem thêm:

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
CHÚC CÁC BẠN THÀNH CÔNG

The post Bài 13: Phương thức GET và POST trong PHP appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/learn-php/bai-13-phuong-thuc-get-va-post-trong-php/feed/ 0
Bài 12: Chuỗi (String) Và Các Hàm Xử Lý Chuỗi Trong PHP http://localhost:82/demowp/learn-php/bai-12-chuoi-string-va-cac-ham-xu-ly-chuoi-trong-php/ http://localhost:82/demowp/learn-php/bai-12-chuoi-string-va-cac-ham-xu-ly-chuoi-trong-php/#respond Sat, 25 Jan 2020 08:51:35 +0000 http://localhost:82/demowp/?p=7725 Tiếp tục series học PHP căn bản, bài này mình sẽ giới thiệu về chuỗi (String) trong PHP và tổng hợp một số hàm xử lý chuỗi nhé! Về chuỗi mình trước đây đã từng có nói sơ qua ở bài 3. các kiểu dữ liệu trong PHP rồi, nhưng ở bài này mình sẽ […]

The post Bài 12: Chuỗi (String) Và Các Hàm Xử Lý Chuỗi Trong PHP appeared first on Tân Hồng IT.

]]>
Tiếp tục series học PHP căn bản, bài này mình sẽ giới thiệu về chuỗi (String) trong PHP và tổng hợp một số hàm xử lý chuỗi nhé! Về chuỗi mình trước đây đã từng có nói sơ qua ở bài 3. các kiểu dữ liệu trong PHP rồi, nhưng ở bài này mình sẽ giới thiệu lại luôn nhé!

chuoi string va cac ham xu ly trong php
Chuỗi và Các hàm xử lý chuỗi trong PHP

Chuỗi trong PHP là gì?

Kiểu chuỗi trong PHP nói đơn giản nó là 1 dãy các ký tự, nó bao gồm string(chuỗi) và kiểu char(ký tự). Để khai báo chuỗi cho 1 biến, các bạn chỉ cần gán 1 chuỗi vào biến đó.

Chuỗi phải được bao quanh bằng dấu nháy đơn  hoặc dấu nháy kép . Chuỗi sử dụng nháy đơn là một chuỗi tĩnh, còn chuỗi sử dụng nháy kép là một chuỗi động, thay đổi tùy theo giá trị của biến.

Không có giới hạn về độ dài của chuỗi, có thể dài tùy ý nếu bộ nhớ cho phép.

Ví dụ:

$string_1 = "Chào mừng đến với tanhongit.net";
$string_2 = "abc 123 hello";

Các chuỗi được giới hạn bởi các dấu nháy kép được PHP xử lý bằng 2 cách sau đây:

  • 1. Các chuỗi kí tự bắt đầu với (\) được thay thế với một kí tự đặc biệt
  • 2. Các biến (bắt đầu với $) được thay thế bằng biểu diễn chuỗi của giá trị của nó.

Các quy tắc thay thế:

  • \n được thay thế bằng ký tự newline (dòng mới)
  • \r được thay thế bởi ký tự carriage-return, được hiểu là đưa con trỏ về đầu dòng nhưng không xuống dòng.
  • \t được thay thế bởi ký tự tab
  • $ được thay thế bằng một dấu $
  • \” được thay thế bằng một dấu nháy kép “
  • \\ được thay thế bằng một dấu nháy đơn \

Các hàm xử lý chuỗi trong PHP

strlen($string)

Hàm này có tác dụng đếm xem chuỗi $string có bao nhiêu ký tự và xuất ra màn hình độ dài của chuỗi.

<?php
      $string = 'tanhongit.net';
      echo strlen($string);
      //kết quả : 13
?>

strpos($string, $keyword)

Hàm này có tác dụng kiểm tra xem đoạn ký tự $keyword có tồn tại trong chuỗi $string hay không và xuất ra màn hình vị trí bắt đầu tồn tại của $keyword đó trong chuỗi.

<?php
      $string = 'tanhongit.net';
      echo strpos($string,'it');
      //kết quả trả về vị trí bắt đầu của chuỗi cần tìm: 7
?>

explode($separator, $string, $limit)

Hàm này sẽ chuyển một chuỗi $string thành một mảng gồm các phần tử là các ký tự trong mảng. Điều kiện tách mảng sẽ là chuỗi ký tự $separator, và giới hạn phần tử sẽ là $limit.

<?php
      $string = 'tanhongit.net welcome';
      var_dump(explode('t',$string)); //nếu không thêm vào giới hạn tách phần tử $limit thì chuỗi sẽ được tách tối đa phần tử
      /*array (size=4)
      0 => string '' (length=0)
      1 => string 'anhongi' (length=7)
      2 => string '.ne' (length=3)
      3 => string ' welcome' (length=8) */

      var_dump(explode('t',$string,2)); //có thêm giới hạn tách chuỗi chỉ gồm 2 phần tử
      /*array (size=2)
      0 => string '' (length=0)
      1 => string 'anhongit.net welcome' (length=20) */
?>

implode($separator, $array)

Hàm này có tác dụng nối tất cả các phần tử của mảng $array thành chuỗi với mỗi phần tử cách nhau bằng chuỗi $separator.

<?php
      $array = array('tanhongit.net','welcome','123456');
      var_dump(implode('-', $array)); 
      //kết quả: 'tanhongit.net-welcome-123456'

      var_dump(implode(' ', $array)); 
      //kết quả : 'tanhongit.net welcome 123456'
?>

str_word_count($string)

Hàm này sẽ đếm tổng số lượng trả về số từ trong chuỗi $string.

<?php
      $string = 'tanhongit.net welcome';
      var_dump(str_word_count($string));
      /*Kết quả: 3 */
?>

substr($string,$start,$length)

Hàm này có tác dụng cắt ra một chuỗi con nằm trong chuỗi $string bắt đầu từ ký tự có vị trí thứ $start và chiều dài chuỗi con là $length

<?php
      $string = 'tanhongit.net welcome';
      echo substr($string,0,9) . '<br>'; // output: tanhongit
      echo substr($string,-4) . '<br>'; // output: come
      echo substr($string,-4,3) . '<br>'; // output: com
      echo substr($string,5) . '<br>'; // output: ngit.net welcome
?>

Nếu $startsố dương thì vị trí bắt đầu sẽ tính từ trái sang phải trong chuỗi. Ngược lại, nếu $startsố âm thì vị trí bắt đầu sẽ được tính từ phải sang trái của chuỗi.

strstr($string, $start_string)

Tác dụng của hàm này sẽ tách một chuỗi con từ chuỗi $string được tính bắt đầu từ $start_string cho đến hết chuỗi cha.

<?php
      $string = 'tanhongit.net welcome';
      echo strstr($string,'net') . '<br>'; // output: net welcome
      echo strstr($string,'n') . '<br>'; // output: nhongit.net welcome
      echo strstr($string,'.') . '<br>'; // output: .net welcome
?>

strtolower($string)

Hàm có tác dụng chuyển chuỗi $string sang dạng chữ thường.

<?php
      $string = 'TANHONGIT.NET';
      echo strtolower($string); //output: tanhongit.net
?>

strtoupper($string)

Hàm có tác dụng chuyển đổi chuỗi $string sang dạng in hoa.

<?php
      $string = 'tanhongit.net';
      echo strtoupper($string); //output: TANHONGIT.NET
?>

strip_tags($string, $allow)

Hàm này sẽ loại bỏ toàn bộ các thẻ html có trong chuỗi $string, trừ các thẻ được cho phép $allow.

<?php
      $string = '<p><b><i>tanhongit.net</i></b></p>';
      echo strip_tags($string); //output: tanhongit.net
      echo strip_tags($string, '<b>'); //output : <b>tanhongit.net</b>
      echo strip_tags($string, '<i>'); //output : <i>tanhongit.net</i>
?>

 

Sẽ còn cập nhật…

Kết thúc

Bài viết này mình đã liệt kê một số hàm thường được sử dụng để xử lý chuỗi trong PHP, Nếu các bạn muốn xem thêm hãy truy cập link này để tham khảo nhé!

Vậy là trong lộ trình học php căn bản thì tới đây mình đã liệt kê hết các kiến thức về chuỗi giúp các bạn học tập. Cho nên sang bài tiếp theo chúng ta sẽ qua một số phương thức bắt buộc phải biết trong PHP nhé!

Xem thêm:

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
CHÚC CÁC BẠN THÀNH CÔNG

The post Bài 12: Chuỗi (String) Và Các Hàm Xử Lý Chuỗi Trong PHP appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/learn-php/bai-12-chuoi-string-va-cac-ham-xu-ly-chuoi-trong-php/feed/ 0
Bài 11: Các hàm xử lý mảng (Array) trong PHP http://localhost:82/demowp/learn-php/bai-11-cac-ham-xu-ly-mang-array-trong-php/ http://localhost:82/demowp/learn-php/bai-11-cac-ham-xu-ly-mang-array-trong-php/#respond Sat, 18 Jan 2020 23:12:37 +0000 http://localhost:82/demowp/?p=7707 Khái niệm và những vấn đề liền quan về các loại mảng có trong PHP mình đã giới thiệu ở bài 10 : Mảng trong PHP. Tiếp tục series học PHP căn bản, bài này mình sẽ liệt kê các hàm dùng để xử lý mảng hay dùng trong PHP để các bạn tiện tra […]

The post Bài 11: Các hàm xử lý mảng (Array) trong PHP appeared first on Tân Hồng IT.

]]>
Khái niệm và những vấn đề liền quan về các loại mảng có trong PHP mình đã giới thiệu ở bài 10 : Mảng trong PHP. Tiếp tục series học PHP căn bản, bài này mình sẽ liệt kê các hàm dùng để xử lý mảng hay dùng trong PHP để các bạn tiện tra cứu cũng như học tập nhé!

cac ham xu ly mang php
Các hàm xử lý mảng trong PHP

is_array($array)

Hàm có tác dụng kiểm tra xem một biến có phải mảng hay không. Trả về true nếu là mảng và ngược lại sẽ trả về false.

<?php
   $bien1 = array("tanhongit.net", "php căn bản");
   $bien2 = '';
   var_dump(is_array($bien1)); // Kết quả trả về true 
   var_dump(is_array($bien2)); // Kết quả trả về false
?>

in_array($value,$array)

Hàm có tác dụng kiểm tra xem mảng $array có tồn tại giá trị $value hay không. Nếu có sẽ trả về true và ngược lại trả về false.

<?php
   $bien1 = array("tanhongit.net", "php căn bản");
   var_dump(in_array("tanhongit.net",$bien1)); // Kết quả trả về true 
   var_dump(in_array("hello",$bien1)); // Kết quả trả về false
?>

array_values($array)

Chuyển mảng $array sang dạng mảng chỉ mục.

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456'
    );
    var_dump(array_values($array));

    /* Kêt quả của mảng là array (size=2)
        0 => string 'tanhongit.net' (length=13)
        1 => string '123456' (length=6)
    ) */
?>

array_count_values($array)

Đếm số lần xuất hiện của các phần tử giống nhau trong mảng $array và trả về một mảng kết quả với các value là các giá trị đếm đó.

<?php
    $array = array('tanhongit.net', 'hello', '123456', 'hello');
    var_dump(array_count_values($array));
    /*array (size=3)
    'tanhongit.net' => int 1
    'hello' => int 2  //'hello xuất hiện 2 lần'
    123456 => int 1 */
?>

array_keys($array)

Hàm này có tác dụng trả về một dạng mảng chỉ mục mà trong mảng đó sẽ có phần tử là key của mảng ban đầu.

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456'
    );
    var_dump(array_keys($array));

    /* kết quả : array (size=2)
  0 => string 'username' (length=8)
  1 => string 'password' (length=8)
     */
?>

array_change_key_case($array, $case)

Tác dụng của hàm này là chuyển tất cả các chỉ mục key trong mảng $array sang chữ hoa nếu $case = 1 và sang chữ thường nếu $case = 0.

Ta có thể dùng hằng số CASE_UPPER thay cho số 1 và CASE_LOWER thay cho số 0.

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456'
    );
    $array = array_change_key_case($array,1);
    var_dump($array);

    /* kết quả : array (size=2)
  'USERNAME' => string 'tanhongit.net' (length=13)
  'PASSWORD' => string '123456' (length=6)
     */
?>

array_key_exists($key,$array)

Kiểm tra xem khoá $keytồn tại trong mảng $array hay không. Nếu có sẽ trả về true và trả về false nếu không có.

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456'
    );
    var_dump(array_key_exists("username",$array)); //kết quả var_ dump sẽ trả về true
    var_dump(array_key_exists("hello",$array)); //kết quả var_ dump sẽ trả về false
?>

array_pop($array)

Tác dụng của hàm này sẽ cắt phần tử cuối cùng ra khỏi mảng.

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456'
    );
    var_dump(array_pop($array)); //phần tử cuối cùng sẽ bị cắt mất khỏi mảng
    //kết quả output: '123456' 

    var_dump($array);
    //kết quả màn hình:  array (size=1)
    //'username' => string 'tanhongit.net' (length=13)
?>

Ta có thể xuất ra phần tử đã bị cắt từ hàm array_pop($array) bằng cách gán giá trị của nó vào một biến và xuất biến đó ra. Nhuw sau:

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456'
    );
    $pop = array_pop($array); //gán giá trị đã bị cắt cuối mảng vào 1 biến
    var_dump($array); // xuất mảng
    echo $pop; // xuất giá trị đã bị cắt khỏi mảng bởi hàm array_pop
?>

array_push($array,$value1,$value2…)

Hàm này có tác dụng thêm một hoặc nhiều phần tử vào cuối mảng với các các giá trị $value1, $value2 được truyền vào.

Nếu ta var_dump hàm array_push này thì kết quả màn hình sẽ trả về tổng cộng số lượng phần tử có trong mảng sau khi thêm.

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456'
    );
    var_dump(array_push($array,"hello")); 
    //kết quả output: 3
    var_dump($array);
    /*kết quả: array (size=3)
    'username' => string 'tanhongit.net' (length=13)
    'password' => string '123456' (length=6)
    0 => string 'hello' (length=5) */
?>

array_shift($array)

Trái ngược với hàm array_pop, hàm array_shift sẽ cắt phần tử đầu tiên trong mảng $array ra khỏi mảng. Ta có thể xuất giá trị đã bị cắt khỏi mảng đó bằng cách gán giá trị của array_shift($array) vào 1 biến và xuất nó ra.

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456'
    );
    $shift = array_shift($array); //gán giá trị của phần tử đầu tiên trong mảng đã bị cắt vào 1 biến
    var_dump($array);
    /*kết quả màn hình:  array (size=1)
    'password' => string '123456' (length=6)*/
    echo $shift; //giá trị của phần tử đầu tiên trong mảng đã bị cắt đi

array_unshift($array,$value1,$value2…)

Trái ngược với array_push, hàm array_unshift sẽ thêm một hoặc nhiều phần tử vào đầu mảng với các các giá trị $value1, $value2 được truyền vào.

Nếu ta var_dump hàm array_push này thì kết quả màn hình sẽ trả về tổng cộng số lượng phần tử có trong mảng sau khi thêm.

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456'
    );
    var_dump(array_unshift($array,"hello")); 
    //kết quả output: 3
    var_dump($array);
    /*kết quả: array (size=3)
  0 => string 'hello' (length=5)
  'username' => string 'tanhongit.net' (length=13)
  'password' => string '123456' (length=6) */
?>

array_combine($array_keys, $array_values)

Tác dụng của hàm là trộn 2 mảng $array_keys$array_values thành một mảng kết hợp. Trong đó, $array_keys là danh sách keys, $array_value là danh sách value tương ứng với key. Với điều kiện là 2 mảng này phải bằng nhau.

<?php
    $array_keys = array('username','password');
    $array_values = array('tanhongit.net','123456');
    
    var_dump(array_combine($array_keys,$array_values)); 
    /*output: array (size=2)
    'username' => string 'tanhongit.net' (length=13)
    'password' => string '123456' (length=6) */
?>

array_merge($array,$array…)

Cao cấp hơn hàm array_combine (chỉ có tác dụng gộp 2 mảng thành 1), hàm array_merge này có tác dụng gộp 2 hoặc nhiều mảng hơn nữa thành 1 mảng duy nhất

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456',
    );
    $array1 = array(1, 2, 3);
    $array2 = array(
      1 => 'hello',
      'name' => 'Hồng'
    );
    var_dump(array_merge($array,$array1,$array2)); 
    /*kết quả: array (size=7)
    'username' => string 'tanhongit.net' (length=13)
    'password' => string '123456' (length=6)
    0 => int 1
    1 => int 2
    2 => int 3
    3 => string 'hello' (length=5)
    'name' => string 'Hồng' (length=4) */
?>

array_rand($array, $number)

Hàm có tác dụng lấy ra key ngẫu nhiên trong mảng với $number là số lượng muốn lấy. Mình sẽ lấy ví dụ tiếp tục từ phần array_merge trên:

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456',
    );
    $array1 = array(1, 2, 3);
    $array2 = array(
      1 => 'hello',
      'name' => 'Hồng'
    );
    echo array_rand(array_merge($array,$array1,$array2));  //lấy 1 phần tử ngẫu nhiên trong mảng kết hợp
    //kêt quả lệnh echo: password

    var_dump(array_rand(array_merge($array,$array1,$array2), 3)); //lấy 3 phần tử ngẫu nhiên trong mảng kết hợp
    /*kết quả: array (size=3)
    0 => string 'password' (length=8)
    1 => int 2
    2 => int 3 */
?>

array_unique($array)

Hàm giúp loại bỏ giá trị trùng nếu có trong mảng $array.

<?php
    $array = array('tanhongit.net', 'hello', '123456', 'hello');
    var_dump(array_unique($array));
    /*array (size=3)
    0 => string 'tanhongit.net' (length=13)
    1 => string 'hello' (length=5)
    2 => string '123456' (length=6) */
?>

array_flip($array)

Hàm này có tác dụng chuyển đổi key của mảng thành value và ngược lại.

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456'
    );
    var_dump(array_flip($array)); 
    /*kết quả: array (size=2)
  'tanhongit.net' => string 'username' (length=8)
  123456 => string 'password' (length=8) */
?>

array_reverse($array)

Hàm có tác dụng đảo ngược lại vị trí sắp xếp của tất cả phần tử có trong mảng.

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456',
    );
    var_dump(array_reverse($array)); 
    /*kết quả: array (size=2)
  'password' => string '123456' (length=6)
  'username' => string 'tanhongit.net' (length=13) */
?>

array_search($keyword, $array)

Hàm có tác dụng tìm kiếm giá trị của mảng và trả về key của phần tử đó nếu có. Trong đó $keyword là giá trị truyền vào, $array là mảng cần tìm.

<?php
    $array = array(
    'username' => 'tanhongit.net',
    'password' => '123456',
    );
    var_dump(array_search('tanhongit.net',$array)); 
    /*kết quả: string 'username' (length=8) */
?>

array_slice($array,$begin,$number)

Hàm có tác dụng lấy ra số lượng các phần tử được truyền vào thông qua $number và bắt đầu lấy ra từ $begin trong mảng.

<?php
      $array = array(
      'username' => 'tanhongit.net',
      'password' => '123456',
      );
      var_dump(array_slice($array, 0)); //lấy ra các phần tử bắt đầu từ chỉ mục $key = 0
      /*kết quả: array (size=2)
      'username' => string 'tanhongit.net' (length=13)
      'password' => string '123456' (length=6) */
      var_dump(array_slice($array, 0 , 1)); //lấy ra 1 phần tử bắt đầu từ chỉ mục $key = 0
      /*Kết quả: array (size=1)
      'username' => string 'tanhongit.net' (length=13) */
      var_dump(array_slice($array, 1 , 1)); //lấy ra 1 phần tử bắt đầu từ chỉ mục $key = 1
      /*Kết quả: array (size=1)
      'password' => string '123456' (length=6) */ 
?>

Sẽ còn cập nhật…

Kết thúc

Bài viết này mình đã liệt kê một số hàm thường được sử dụng để xử lý mảng trong PHP, Nếu các bạn muốn xem thêm hãy truy cập link này để tham khảo nhé!

Vậy là trong lộ trình học php căn bản thì tới đây mình đã liệt kê hết các kiến thức về mảng giúp các bạn học tập. Cho nên sang bài tiếp theo chúng ta sẽ qua chuỗi trong PHP và các vấn đề xoay quanh chuỗi nhé!

Xem thêm:

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
CHÚC CÁC BẠN THÀNH CÔNG

The post Bài 11: Các hàm xử lý mảng (Array) trong PHP appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/learn-php/bai-11-cac-ham-xu-ly-mang-array-trong-php/feed/ 0
Bài 10: Mảng (Array) Trong PHP http://localhost:82/demowp/learn-php/bai-10-mang-array-trong-php/ http://localhost:82/demowp/learn-php/bai-10-mang-array-trong-php/#respond Wed, 15 Jan 2020 23:23:57 +0000 http://localhost:82/demowp/?p=7684 Đây là bài viết thứ 9 trong series học PHP căn bản, trong bài này mình sẽ chỉ giới thiệu về mảng (Array) trong PHP và các kiến thức liên quan đến mảng mà các bạn cần nắm vững. Trước đây mình đã từng giới thiệu và nói qua về mảng ở bài 3: các […]

The post Bài 10: Mảng (Array) Trong PHP appeared first on Tân Hồng IT.

]]>
Đây là bài viết thứ 9 trong series học PHP căn bản, trong bài này mình sẽ chỉ giới thiệu về mảng (Array) trong PHP và các kiến thức liên quan đến mảng mà các bạn cần nắm vững.

Trước đây mình đã từng giới thiệu và nói qua về mảng ở bài 3: các kiểu dữ liệu trong PHP. Nhưng qua bài này mình sẽ trình bày lại tất cả nhé!

Cũng như bao ngôn ngữ lập trình khác. PHP cũng tồn tại một loại dữ liệu được gọi là mảng. Mảng Array là một loại biến đặc biệt, trong nó giữ nhiều giá trị. Mỗi giá trị trong mảng được gọi là phần tử của mảng.

mang array trong php
Mảng (Array) Trong PHP

Một mảng là một cấu trúc dữ liệu mà lưu giữ danh sách các phần tử có cùng kiểu dữ liệu và nó là một trong các kiểu dữ liệu trong php có độ phức tạp tính toán cao. Riêng với PHP thì các phần tử của mảng có thể không cùng kiểu dữ liệu, và các phần tử của mảng thường được truy xuất thông qua các chỉ mục(vị trí) của nó nằm trong mảng.

Cú pháp tạo một mảng

Để tạo mảng chúng ta sử dụng hàm array() trong PHP (Từ PHP 5.4 trở lên bạn chỉ cần viết giá trị trong cặp dấu [ ] cũng được)

Note: Các bạn dùng hàm var_dump($mang); để in ra các phần tử của mạng để test trong quá trình học nhé. Hàm này có thể sử dụng được tất cả các kiểu dữ liệu trong php. (Hàm var_dump chỉ dùng để test).

//cách tạo mảng 1
<?php
    $names=array("Tan","Binh","Minh");
    var_dump($names);
?>
//cách tạo mảng 2
<?php 
$names=array(
0 => 'Tan',
1 => 'Binh',
2 => 'Minh'
); 
var_dump($names); 
?>
//cách tạo mảng 3 
<?php 
$names=array(); 
$names[0] = 'Tan';
$names[1] = 'Binh';
$names[2] = 'Minh';
var_dump($names);
?>
//cách tạo mảng 4 
<?php 
$names=array(); 
$names[] = 'Tan'; 
$names[] = 'Binh'; 
$names[] = 'Minh'; 
var_dump($names); 
?>

Có 3 loại mảng trong PHP

  1.  Mảng indexed – Mảng được lập chỉ mục
  2. Mảng associative – Mảng liên hợp
  3. Mảng Multidimensional – Mảng chứa một hoặc nhiều mảng

Chúng ta sẽ cùng tìm hiểu theo thứ tự từng loại mảng trên.

Loại 1. Indexed Arrays – Mảng được lập chỉ mục

Các mảng này có thể lưu trữ số, chuỗi và bất kỳ đối tượng nào nhưng chỉ mục của chúng sẽ được biểu diễn bằng dạng số. Một biến mảng dạng này chỉ số sẽ gán một cách tự động, theo chỉ mục mảng mặc định bắt đầu từ số không khi phần tử đầu tiên được thêm vào, cứ thế phần tử thứ 2 thêm vào mảng sẽ có chỉ số là 1.

Ví dụ minh họa cách tạo và truy cập mảng số được lập chỉ mục trong PHP.

<?php
    /*Ví dụ 1: xuất danh sách các tên có trong mảng bằng cách sử dụng vòng lặp */
    $names = array( "Nam", "Mai", "Trúc", "Linh", "Phong");
    
    foreach( $names as $value ) // sử dụng vòng lặp foreacch để duyệt phần tử trong mảng
    {
    echo "Tên: $value <br />";
    }
    var_dump($names); //xuất mảng
    
    /*Ví dụ 2: xuất lần lượt các giá trị có trong mảng */
    $numbers[0] = "one";
    $numbers[1] = 2;
    $numbers[2] = "three";
    $numbers[3] = 4;
    $numbers[4] = "five";
    
    var_export($numbers);
?>

sau khi chạy lên, kết quả của lệnh var_dump($names); trên màn hình như sau:

array (size=5)
  0 => string 'Nam' (length=3)
  1 => string 'Mai' (length=3)
  2 => string 'Trúc' (length=5)
  3 => string 'Linh' (length=4)
  4 => string 'Phong' (length=5)

Như vậy phần tử có chỉ số 0 thì giá trị là 'Nam', chỉ số 1 giá trị là ‘Mai’ … chỉ số này dùng với ký hiệu Array_Name[indexed] để truy xuất ( đọc hoặc gán) phần tử mảng:

Ví dụ về truy xuất Array_Name[indexed]

Từ ví dụ bên trên ta sẽ truy xuất 1 phần tử trong mảng ra như sau:

<?php
    /*Ví dụ 1: xuất danh sách các tên có trong mảng bằng cách sử dụng vòng lặp */
    $names = array( "Nam", "Mai", "Trúc", "Linh", "Phong");
    
    foreach( $names as $value ) // sử dụng vòng lặp foreacch để duyệt phần tử trong mảng
    {
    echo "Tên: $value <br />";
    }
    var_dump($names);

    //truy xuất phần tử có chỉ mục là số 1 có trong mảng $names
    echo $names[1];

    //kết quả xuất ra màn hình sẽ là 'Mai'
?>

Thêm phần tử mới vào mảng

Bạn có thể thêm phần tử mới vào trong mảng bằng cách viết bên dưới:

$arrayName[indexed] = $giatri; 

// biến $giatri có thể là một biến có sẵn hoặc cũng có thể là một giá trị mới mà bạn muốn gán vào.
//phần tử mới nhất được thêm vào sẽ luôn nằm cuối mảng, dù cho giá trị index có là bao nhiêu đi chăng nữa

Ví dụ 1:

<?php
    /*Ví dụ 1: xuất danh sách các tên có trong mảng bằng cách sử dụng vòng lặp */
    $names = array( "Nam", "Mai", "Trúc", "Linh", "Phong");

    //thêm 2 phần tử mới vào mảng $names
    $names[7]=0;
    $names[6]=9;

    var_dump($names);
?>

Kết quả thấy được sẽ là:

array (size=7)
  0 => string 'Nam' (length=3)
  1 => string 'Mai' (length=3)
  2 => string 'Trúc' (length=5)
  3 => string 'Linh' (length=4)
  4 => string 'Phong' (length=5)
  7 => int 0
  6 => int 9

Bạn thấy mặc dù chỉ số 6 bé hơn chỉ số 7 nhưng khi biểu diễn trong mảng nó lại nằm dưới chỉ số 7, Bởi vì khi thêm phần tử mình đã cố ý thêm phần tử có chỉ số 7 trước cho nên nó sẽ được thêm vào mảng trước phần tử có chỉ số là 6.

Điều này sẽ tuân thủ quy tắc: phần tử mới nhất được thêm vào sẽ luôn nằm cuối mảng, dù cho giá trị index có là bao nhiêu đi chăng nữa


Có một cách thêm thứ 2 mà bạn cần biết đó là phương pháp thêm sau:

$arrayName[] = $giatri;

// biến $giatri có thể là một biến có sẵn hoặc cũng có thể là một giá trị mới mà bạn muốn gán vào.
// Phần tử này khi được thêm vào sẽ nằm phía sau phần tử cuối cùng của mảng. Khi đó chỉ số phần tử này sẽ bằng chỉ số lớn nhất của mảng cộng thêm 1
// nếu đây là phần tử đầu tiên của mảng thì chỉ số sẽ là 0

Ví dụ 2:

<?php
    /*Ví dụ 1: xuất danh sách các tên có trong mảng bằng cách sử dụng vòng lặp */
    $names = array( "Nam", "Mai", "Trúc", "Linh", "Phong");

    //thêm 2 phần tử mới vào mảng $names
    $names[7]=0;
    $names[6]=9;

    //thêm phần tử mới vào mảng $names theo cách 2
    $names[] = 100;
    $names[] = "hé nô";

    var_dump($names);
?>

Kết quả trên màn hình sẽ là:

array (size=9)
  0 => string 'Nam' (length=3)
  1 => string 'Mai' (length=3)
  2 => string 'Trúc' (length=5)
  3 => string 'Linh' (length=4)
  4 => string 'Phong' (length=5)
  7 => int 0
  6 => int 9
  8 => int 100
  9 => string 'hé nô' (length=7)

2 cách thêm phần tử vào mảng trên cách nào cũng đúng cả, tuỳ vào cách sử dụng của mỗi người và tuỳ vào trường hợp của bài toán mà ta sẽ phải lựa chọn cho phù hợp.


Tử 2 ví dụ trên, ta thấy chỉ số index không phải là thứ tự sắp xếp các phần tử trong mảng. Và chỉ số index không phải và không liên quan đến số lượng phần tử có trong mảng Mục đích của nó chỉ là lập chỉ mục cho các phần tử có trong mảng mà thôi. 

Loại 2. Associative Arrays– Mảng liên hợp

Các mảng liên hợp là khá giống với các mảng Indexed về tính năng, nhưng chúng khác nhau về chỉ mục. Chỉ mục của Associative Arrays sẽ ở dạng chuỗi(string) nhằm giúp bạn có thể thiết lập một liên kết mạnh giữa keyvalue.

<?php
    $numbers  =  [
        'one' => "số 1",
        'two' => "số 2",
        'three' => "số 3",
        'four' => "số 4"
    ];
    //dùng vòng lặp foreach để duyệt mảng
    foreach ($numbers as $key => $value) {
        echo "$key ($value)", PHP_EOL; // PHP_EOL tương tự như dấu cách (space)
    }

    // Kết quả màn hình: one (số 1) two (số 2) three (số 3) four (số 4)

    var_dump($numbers);
?>

Kết quả của var_dump($numbers); trên màn hình:

array (size=4)
  'one' => string 'số 1' (length=6)
  'two' => string 'số 2' (length=6)
  'three' => string 'số 3' (length=6)
  'four' => string 'số 4' (length=6)

Như vậy, từ ví dụ trên ta thấy chỉ mục của các phần tử bây giờ không còn là các số nguyên nữa mà là các chuỗi ký tự.

Trong vòng lặp foreach, khi xuất ra các $key (các chỉ mục) thì sẽ có giá trị tương ứng là các $value.

Và để lấy giá trị của phần tử bất kỳ trong mảng ta cũng không thể sử dụng theo cách echo $numbers[0] giống mảng indexed nữa, ta phải gọi đúng chỉ mục là các chuỗi ký tự giống như sau: echo $numbers[‘one’]. Như vậy mới có kết quả ra màn hình là ‘số 1’.

Loại 3. Multidimensional Arrays– Mảng đa chiều

Mảng đa chiều là mảng trong nó chứa một hay nhiều mảng khác. Tức là trong 1 mảng, mỗi phần tử của nó có thể sẽ là một mảng (các mảng con), và có thể mỗi phần tử của mảng con cũng sẽ là một mảng (các mảng cháu),..v.v..

Ví dụ: mảng 2 chiều xuất ra thông tin điểm môn học của các học sinh.

<?php
    $diem = [
        'Nguyễn Văn A' => [
            'Toán' => 8,
            'Lý' => 7,
            'Hóa'  => 9
        ],
        'Nguyên Văn B' => [
            'Toán' => 6,
            'Lý' => 5,
            'Hóa'  => 7
        ],
        'Nguyễn C' => [
            'Toán' => 4,
            'Lý' => 9,
            'Hóa'  => 7
        ],
    ];
    foreach ($diem as $ten => $diem_hoc_tap) {
        echo $ten . "<br>";
        foreach ($diem_hoc_tap as $tem_mon => $diem_cua_mon) {
            echo "__$tem_mon" . " - " . $diem_cua_mon . "<br>";
        }
        echo "<br>";
    }
?>

Kết quả:

Nguyễn Văn A
__Toán - 8
__Lý - 7
__Hóa - 9
Nguyên Văn B
__Toán - 6
__Lý - 5
__Hóa - 7

Nguyễn C
__Toán - 4
__Lý - 9
__Hóa - 7

Các xuất phần tử trong mảng đa chiều  bạn cần phải truyền đủ các chỉ mục thuộc các cấp có trong mảng.

Ở ví dụ trên là mảng 2 chiều, như vậy ta sẽ truyền cả 2 chỉ mục mới có thể xuất ra màn hình, nếu không sẽ báo lỗi.

echo $diem['Nguyễn Văn A']['Toán']; // kết quả : 8

Kết thúc

Vậy là qua bài trên mình đã giới thiệu cho các bạn về mảng cũng như nói rõ các loại mảng có trong PHP mà bạn cần nắm. Mảng là khái niệm mà bạn nên nắm vững để sau này đi vào phần lập trình PHP hướng đối tượng các bạn sẽ phải dùng rất nhiều.

Hàm, mảng và vòng lặp là 3 khái niệm bạn cần vững vàng để sau này áp dụng vào lập trình PHP có lết hợp với cấu trúc dữ liệu MySql cũng như lập trình hướng đối tượng. Nếu có thắc mắc hay có chỗ nào sai sót mong các bạn để lại comment bên dưới bài viết chúng mình cũng thảo luận nhé!

Ở bài viết tiếp theo của series học PHP căn bản mình sẽ nói về các hàm xử lý cho mảng để các bạn có thể áp dụng sau này. Hãy tiếp tục với series học PHP căn nản nha ❤

Xem thêm:

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
CHÚC CÁC BẠN THÀNH CÔNG

The post Bài 10: Mảng (Array) Trong PHP appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/learn-php/bai-10-mang-array-trong-php/feed/ 0
Bài 7: Vòng lặp Foreach trong PHP (Các loại vòng lặp phần 2) http://localhost:82/demowp/learn-php/bai-7-vong-lap-foreach-trong-php/ http://localhost:82/demowp/learn-php/bai-7-vong-lap-foreach-trong-php/#respond Wed, 01 Jan 2020 09:37:29 +0000 http://localhost:82/demowp/?p=7604 Ở bài trước ta đã học về các loại vòng lặp như for, while, do while các bạn có thể xem lại Bài 6: Các loại Vòng lặp trong PHP (for, while, do while). Còn ở bài này mình sẽ vẫn giới thiệu về vòng lặp nhưng nội dung chỉ xoay quanh duy nhất một […]

The post Bài 7: Vòng lặp Foreach trong PHP (Các loại vòng lặp phần 2) appeared first on Tân Hồng IT.

]]>
Ở bài trước ta đã học về các loại vòng lặp như for, while, do while các bạn có thể xem lại Bài 6: Các loại Vòng lặp trong PHP (for, while, do while). Còn ở bài này mình sẽ vẫn giới thiệu về vòng lặp nhưng nội dung chỉ xoay quanh duy nhất một vòng lặp đó là vòng lặp foreach trong PHP.

vong lap foreach trong php
Vòng lặp foreach trong PJP

Vòng lặp foreach trong PHP

Vòng lặp foreach là loại loop được dùng để duyệt các phần tử trong mảng, object. Đây là loại vòng lặp thường sẽ được sử dụng rất nhiều trong các dự án PHP sau này, đặc biệt là các bài liên kết đến cơ sở dữ liệu.

Cú pháp

<?php
foreach ($variable as $key => $value) {
    // code...
}
?>

hoặc

<?php
foreach ($variable as $value) {
    // code...
}
?>

Trong đó:

  • $variableLà biến mà các bạn muốn lặp (có thể là array, object).
  • $keyLà các key của mảng hoặc properties của object.
  • $valueLà một biến tạm dùng để chứa giá trị được sao chép của từng phần tử của mảng, object.

Bài tập ví dụ 1

<?php
//Khởi tạo mảng có key tự tăng.
$array= [
    'A',
    'B',
    'C',
    'D'
];
// Lặp cả key lẫn value của mảng
foreach ($array as $key => $value) {
    echo "Đây là phần tử có key = $key và có giá trị= $value <br/>";
}
?>

Ở ví dụ trên thì $array là mảng ta truyền vào, $key $value là 2 tham số mà ở mỗi vòng lặp nó tự động truyền giá trị. Kết quae xuất ra màn hình là:

Phần tử có key = 0 và giá trị= A
Phần tử có key = 1 và giá trị= B
Phần tử có key = 2 và giá trị= C
Phần tử có key = 3 và giá trị= D

Cũng từ bài ví dụ trên ta có thể dùng theo cú pháp thứ 2 của vòng lặp foreach trong php như sau:

<?php
//Khởi tạo mảng có key tự tăng.
$array= [
    'A',
    'B',
    'C',
    'D'
];
// Lặp lại value của mảng
foreach ($array as $value) {
    echo "$value -";
}
?>

Ở mỗi vòng lặp foreach, PHP sẽ tạo ra các bản sao để chúng ta lấy dữ liệu của phần tử đang lặp đó, bản sao này sẽ được loại bỏ ngay lập tức sau khi kết thúc vòng lặp. Và ở mỗi vòng lặp sẽ kiểm tra còn phần tử liền kề hay không? Nếu còn thì vòng lặp được tiếp tục, ngược lại thì sẽ dừng.

Ở ví dụ trên, các bản sao của biến $array đã được tạo ra và mình đã không truyền biến $key vào trong vòng forech nên mình chỉ có thể xuất được các giá trị $value ra màn hình mà thôi.

Kết quả xuất ra màn hình sẽ là: A -B -C -D –

Dùng tham chiếu để thay đổi phần tử hiện tại trong mảng foreach

Hãy xem ví dụ bên dưới.

<?php
$mang = array('one', 'two', 'three', 'four', 'five');
foreach ( $mang as $value ) {
    $value = strtoupper($value); // hàm strtoupper dùng để in hoa chuỗi ký tự
}
echo '<pre>';
print_r($mang); //xuất mảng
?>

Kết quả ra màn hình sẽ là:

Array
(
    [0] => one
    [1] => two
    [2] => three
    [3] => four
    [4] => five
)

Ở ví dụ trên mình đã sử dụng hàm strtoupper nhằm mục đích in hoa hết các chuỗi ký tự là các giá trị của các phần tử có trong bảng array. Nhưng kết quả xuất ra màn hình vẫn là chứ thường.

Giải thích:

Khi bắng đầu 1 loop foreach, PHP sẽ tạo ra 1 bản sao của mảng gốc để lặp, cho nên khi thay đổi các giá trị trong mảng gốc thì sẽ không có tác dụng. Vì vậy khi lặp chúng ta sẽ truyền tham chiếu truy xuất đến mảng gốc, có như vậy thì PHP sẽ không tạo 1 bản copy mảng để dùng nữa mà nó sẽ được gọi đến và lặp trực tiếp trên mảng gốc. Khi này, chúng ta thay đổi giá trị các phần tử trong mảng gốc sẽ có tác dụng.

Cách gọi 1 tham chiếu cho biến: đặt thêm ký tự “&” trước biến đó.

Như vậy cũng từ ví dụ trên ta sẽ làm như sau:

<?php
$mang = array('Xin', 'Chao', 'Moi', 'Nguoi', 'Den', 'Voi', 'Khoa', 'Hoc', 'PHP', 'Can', 'Ban');
foreach ( $mang as &$value ) { //mình đã thêm ký tự & trước biến $value để gọi 1 tham chiếu
    $value = strtoupper($value); // hàm strtoupper dùng để in hoa chuỗi ký tự
}
echo '<pre>';
print_r($mang); //xuất mảng
?>

Ở đây mình đã sử dụng tham chiếu &$value để truy xuất đến mảng gốc, khi này ta thay đổi giá trị của các phần tử trong mảng gốc sẽ có hiệu lực và ra kết quả như sau.

Array
(
    [0] => XIN
    [1] => CHAO
    [2] => MOI
    [3] => NGUOI
    [4] => DEN
    [5] => VOI
    [6] => KHOA
    [7] => HOC
    [8] => PHP
    [9] => CAN
    [10] => BAN
)

Kết luận:

  • Foreach trong PHP sẽ tạo ra một bản sao của mảng để lặp.
  • Khi foreach đang lặp theo bản sao của mảng gốc thì thay đổi giá trị phần tử trong mảng theo cách thông thường sẽ không có tác dụng
  • Muốn thay đổi giá trị phần tử hiện tại trong khi lặp thì phải dùng tham chiếu.

Vòng lặp foreach lồng nhau (mảng 2 chiều)

Cũng như các vòng lặp đã được đề cập ở bài 6 thì đối với vòng lặp foreach trong bài này cũng có tính chất tương tự là có thể lồng nhau. Thường thì ta sẽ sử dụng vòng lặp foreach lồng nhau để duyệt phần tử của mảng 2 chiều.

Ví dụ: duyệt các phần tử của mảng 2 chiều bằng vòng lặp foreach:

<?php
//Khởi tạo mảng 2 chiều
$array = [
        0 => 1, 
        1 => [1 => 4, 2 => 6],
        2 => [1 => "aa", 2 => "bb"],
        3 => [1 => 10, 2 => "cc", 3 => 0]
];
foreach ($array as $value) {
    if (is_array($value)) {
        foreach ($value as $item) {
            echo $item . " - ";
        }
    } else
        echo $value . " - ";
}
?>

Như vậy ta sẽ có kêt quả như sau: 1 – 4 – 6 – aa – bb – 10 – cc – 0 –

Kết thúc:

Vậy là qua bài 6 và bài 7 này mình đã giới thiệu cho các bạn về 4 loạn vòng lặp khác nhau thường được dùng trong PHP. Nếu các bạn có thắc mắc nay cần tư vấn điều gì thì hãy để lại comment bên dưới bài viết này nhé!, Mình sẽ cố gắng hỗ trợ các bạn!

Hãy tiếp tục trong series học PHP căn bản ở các bài viết tiếp theo các bạn nhé!

Xem thêm:

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
CHÚC CÁC BẠN THÀNH CÔNG

The post Bài 7: Vòng lặp Foreach trong PHP (Các loại vòng lặp phần 2) appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/learn-php/bai-7-vong-lap-foreach-trong-php/feed/ 0
Bài 5: Biểu Thức Điều Kiện Trong PHP (Lệnh if, else, switch) http://localhost:82/demowp/learn-php/bai-5-bieu-thuc-dieu-kien-trong-php/ http://localhost:82/demowp/learn-php/bai-5-bieu-thuc-dieu-kien-trong-php/#respond Sun, 15 Dec 2019 01:58:50 +0000 http://localhost:82/demowp/?p=7538 Biểu thức điều kiện trong PHP là tập hợp các câu điều kiện để thực hiện các hành động khác nhau dựa trên các điều kiện khác nhau. Cũng tương tự như các ngôn ngữ lập trình khác, PHP hỗ trợ các biểu thức điều kiện sau: if if…else if…elseif…else switch Giải thích: Chỉnh ta […]

The post Bài 5: Biểu Thức Điều Kiện Trong PHP (Lệnh if, else, switch) appeared first on Tân Hồng IT.

]]>
Biểu thức điều kiện trong PHP là tập hợp các câu điều kiện để thực hiện các hành động khác nhau dựa trên các điều kiện khác nhau.

Cũng tương tự như các ngôn ngữ lập trình khác, PHP hỗ trợ các biểu thức điều kiện sau:

  • if
  • if…else
  • if…elseif…else
  • switch
bieu thuc dieu kien trong php
Biểu thức điều kiện trong php

Giải thích: Chỉnh ta hầu hết đều biết các chương trình thường chạy theo một trình tự từ trên xuống mà không chừa bất kì một dòng code nào (ngoại trừ các dòng comment). Nhưng trong thực tế, đối với một số chương trình chúng ta cần chúng chạy theo nhiều luồng chứ không phải theo trình tự như vậy. Vì thế, biểu thức điều kiện đã ra đời.

Biểu thức điều kiện if

Biểu thức điều kiện if, hay còn thường gọi là câu điều kiện 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

if(bieu-thuc-dieu-kien){
  //Câu lệnh
}

Ví dụ:

<?php
  $so=50;
  if($so % 2 == 0){ //điều kiện kiểm tra số chẵn
    echo "Số ".$so." là số chẵn";"
  }

  if($so >= 0){ //điều kiện kiểm tra số dương
    echo "Số ".$so." là số dương";
  }
?>

Giải thích:

  • Ta gán biến $so có giá trị là 50.
  • Kiểm tra phần dư sau khi lấy $so chia cho 2 có bằng 0 hay không (toán tử % dùng để chia lấy số dư, tham khảo lại toán tử trong Bài 4: Toán tử và biểu thức trong PHP). Nếu đúng thì echo ra kết quả.
  • Điều kiện kiểm tra số dương từ dòng số 7 trở đi cũng có ý nghĩa tương tự.

Biểu thức điều kiện if else trong PHP

Nói một cách đơn giản, bạn sẽ thực hiện đoạn code thứ nhất được bao trong if() nếu điều kiện đặt ra là đúng (true), ngược lại nếu điều kiện đó là sai (false) thì bạn sẽ thực hiện đoạn code thứ 2 được bao bởi else. Trong trường hợp này, bạn sẽ phải dùng đến câu lệnh if else trong PHP.

if (biểu_thức_điều_kiện){
   //câu lệnh 1
   //phần code này được thực thi nếu điều kiện là true
}
else{
   //câu lệnh 1
   //phần code này được thực thi nếu điều kiện là false
}

Giải thích:

  • Nếu biểu_thức_điều_kiện đú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 nếu biểu_thức_điều_kiện sai thì những câu lệnh 1 sẽ bị bỏ qua và sẽ thực hiện những câu lệnh 2.

Ví dụ:

$so = 20;
if ($so % 2 == 0){
    echo 'Số ' . $so . ' Là Số Chẵn';
}
else{
    echo 'Số ' . $so . ' Là Số Lẻ';
}

Giải thích:

  • Ta gán biến $so có giá trị là 20.
  • Kiểm tra phần dư sau khi lấy $so chia cho 2 có bằng 0 hay không (toán tử % dùng để chia lấy số dư, tham khảo lại toán tử trong Bài 4: Toán tử và biểu thức trong PHP). Nếu đúng thì echo ra kết quả Số 20 Là Số Chẵn, nếu sai thì cho ra Số 20 Là Số Lẻ.3

Biểu thức điều kiện if…elseif…else trong PHP

Nói đơn giản về ý nghĩa của biểu thức này hơn đó là kết hợp nhiều câu lệnh if else trong một bài code. Bới vì 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ý bài toán.

Ví dụ: Ta xuất thông tin chào đón các học sinh vào năm học mới theo khối lớp của trường trung học cơ sở.

<html>
   <body>
      <?php
         $lop="Lop 6";
         if ($lop == "Lop 6")
            echo "Chào mừng các em học sonh lớp 6!";
         elseif ($lop == "Lop 7")
            echo "Chào mừng các em học sonh lớp 7!";
         elseif ($lop == "Lop 8")
            echo "Chào mừng các em học sonh lớp 8!";
         else
            echo "Chào mừng các em học sonh lớp 9!"; 
      ?>
   </body>
</html>

Giải thích:

  • Nếu $lop bằng ‘Lop 6’ thì xuất ra màn hình “Chào mừng các em học sinh lớp 6”,
  • Ngược lại nếu bằng ‘Lop 7’ thì xuất ra màn hình “Chào mừng các em học sinh lớp 7”,
  • Ngược lại nếu bằng ‘Lop 8’ thì xuất ra màn hình “Chào mừng các em học sinh lớp 8”,
  • 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 “Chào mừng các em học sinh lớp 9”.

Biểu thức điều kiện if else lồng nhau trong PHP

Biểu thức điều kiện có rất nhiều biến thể, đặc biệt là các biểu thức được lồng vào nhau. Tức là sẽ có 1 hoặc nhiều câu điều kiện if con nằm trong một câu điều kiện if cha nào đó. (Riêng bản thân mình thường tự gọi đây là 1 dạng biểu thức điều kiện đa cấp).

Ví dụ: Cho một số và kiểm tra xem số đó bé hơn 100 hay không. Nếu bé hơn thì kiểm tra tiếp xem số đó có là số dương hay không. Nếu số đó cũng là số dương thì hãy kiểm tra tiếp xem số đó là số chẵn hay số lẻ. Sau đó xuất ra màn hình các kêt quả phù hợp.

<html>
<body>
    <?php
    $so = 800; // cho 1 giá trị là 80
    if ($so < 100) // Nếu số bé hơn 100, thì điều kiện kiểm tra là đúng và ta sẽ chạy tiếp câu lệnh bên trong
    {
        if ($so > 0) { // Nếu số lớn hơn 0 thì điều kiện kiểm tra là đúng và chạy tiếp lệnh bên trong
            if ($so % 2 == 0) { // Nếu số dư khi chia cho 2 = 0, tức là số chẵn ta sẽ chạy tiếp câu lệnh bên trong
                echo "So " . $so . " Là số chẵn, lớn hơn 0 và bé hơn 100";
            } else echo "So " . $so . " Là số lẻ, lớn hơn 0 và bé hơn 100";
        } elseif ($so % 2 == 0) { // Ngược lại đây sẽ là số bé hơn 0 và ta tiếp tục kiểm tra nếu số dư khi chia cho 2 = 0, tức là số chẵn ta sẽ chạy tiếp câu lệnh bên trong
            echo "So " . $so . " Là số chẵn và bé hơn 0";
        } else echo "So " . $so . " Là số lẻ và bé hơn 0";
    }
    else //trường hợp này đã ra ngoài phạm vi yêu cầu của đề bài, tức là số cho trước khi này sẽ lớn hơn 100
        echo "Ngoài vùng phủ sóng :3 ";
    ?>
</body>
</html>

Lưu ý khi dùng các biểu thức quan hệ if, if…else, if…elseif…else

  • Biểu Thức chứa trong cặp dấu ngoặc tròn () chính là các biểu thức quan hệ. Có thể kết hợp nhiều biểu thức quan hệ thông qua toán tử && (nghĩa là AND) hay || (nghĩa là OR)
  • 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.

Biểu thức Switch Trong PHP

Câu lệnh switch trong php cho phép ta đưa ra quyết định có nhiều cách lựa chọn để giá trị của biểu thức truyền vào. Mục đích của lệnh switch hay được sử dụng để tránh các khối if…elseif…else dài.

switch ($variable) {
    case $value_1:
       // các câu lênh 1
       break;
    case $value_2:
        // các câu lệnh 2
        break;
    default:
        // các câu lệnh khác
        break;
        //phần code này được thực thi nếu biểu_thức là khác với $value_1, $value_2, ...
}

Giá trị ở case chỉ chấp nhận các kiễu dữ liệu string, INT, boolean, null, foat hoặc là một biểu thức có kết quả trả về một trong năm loại dữ liệu đó và toán tử quan hệ so sánh trong switch luôn luôn là ==

Ví dụ: Chương trình xác định 1 số và xuất ra tên tháng tương ứng với số đó.

<html>
<body>
    <?php
        $th = 1;
        switch ($th)
        {
            case 1:
                echo 'Tháng một';
                break;
            case 2:
                echo 'Tháng hai';
                break;
            case 3:
                echo 'Tháng ba';
                break;
            case 4 :
                echo 'Tháng bốn';
                break;
            case 5 :
                echo 'Tháng năm';
                break;
            case 6 :
                echo 'Tháng sáu';
                break;
            case 7 :
                echo 'Tháng bảy';
                break;
            case 8 :
                echo 'Tháng tám';
                break;
            case 9 :
                echo 'Tháng chín';
                break;
            case 10 :
                echo 'Tháng mười';
                break;
            case 11 :
                echo 'Tháng mười một';
                break;
            case 12 :
                echo 'Tháng mười hai';
                break;
            default:
                echo 'Tháng không tồn tại';
                break;
        }
    ?>
</body>
</html>

Ngoài ra, cũng tương tự như câu lệnh if, câu lệnh switch cũng có thể lồng nhau.

<?php
$a = 5;
// Kiểm tra $a có phải là số nguyên không
$check = is_int($a); 
switch ($check) {
    // Nếu $a là số nguyên thì thực thi dòng lệnh bên dưới
    case "true": 
        switch ($a) {
            case 0:
                echo "a bằng 0";
                break;
            case 2:
                echo "a bằng 2";
                break;
            case 3:
                echo "a bằng 3";
                break;
            case 4:
                echo "a bằng 4";
                break;
            case 5:
                echo "a bằng 5";
                break;
            default:
                echo "$a";
        }
        break;
    default: // Nếu $a không là số nguyên thì thực thi dòng lệnh bên dưới
        echo "a không là số nguyên";
}
?>

Qua bài viết này mình đã giới thiệu sơ lược về các biểu thức điều kiện như if, if…else, iii…elseif…else và câu lệnh switch để các bạn tự học và thực hành cho những bài toán sau này.

Xem thêm:

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
CHÚC CÁC BẠN THÀNH CÔNG

The post Bài 5: Biểu Thức Điều Kiện Trong PHP (Lệnh if, else, switch) appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/learn-php/bai-5-bieu-thuc-dieu-kien-trong-php/feed/ 0
Bài 1: Giới thiệu tổng quan ngôn ngữ PHP và hướng dẫn thiết lập môi trường để lập trình PHP http://localhost:82/demowp/learn-php/bai-1-gioi-thieu-tong-quan-ngon-ngu-php-va-huong-dan-thiet-lap-moi-truong-de-lap-trinh-php/ http://localhost:82/demowp/learn-php/bai-1-gioi-thieu-tong-quan-ngon-ngu-php-va-huong-dan-thiet-lap-moi-truong-de-lap-trinh-php/#respond Wed, 04 Dec 2019 19:34:32 +0000 http://localhost:82/demowp/?p=7412 Mở đầu series học PHP căn bản, chúng ta sẽ cùng thao khảo qua khái niệm PHP là gì? – được viết tắt của “Hypertext Preprocessor” là một ngôn ngữ lập trình mã nguồn mở được chạy ở phía server nhằm sinh ra mã html trên client rất phổ biến và được dùng trong phát […]

The post Bài 1: Giới thiệu tổng quan ngôn ngữ PHP và hướng dẫn thiết lập môi trường để lập trình PHP appeared first on Tân Hồng IT.

]]>
Mở đầu series học PHP căn bản, chúng ta sẽ cùng thao khảo qua khái niệm PHP là gì? – được viết tắt của “Hypertext Preprocessor” là một ngôn ngữ lập trình mã nguồn mở được chạy ở phía server nhằm sinh ra mã html trên client rất phổ biến và được dùng trong phát triển ứng dụng Website.

php introduce
Giới thiệu PHP là gì

Nó được tích hợp với một số Database thông dụng như MySQL, PostgreSQL, Oracle, Sybase, Informix, và Microsoft SQL Server.

PHP thực thi rất tuyệt vời, đặc biệt khi được biên dịch như là một Apache Module trên Unix side. MySQL Server, khi được khởi động, thực thi các truy vấn phức tạp với các tập hợp kết quả khổng lồ trong thời gian Record-setting.

Với đặt tính nhanh, linh hoạt, hữu dụng trong thực tế và được tối ưu hoá qua nhiều phiên bản, dễ học nên PHP trở thành một ngôn ngữ lập trình web rất phổ biến và được ưa chuộng để phát triển mọi ứng dụng web từ blog đến các website nối tiếng.

PHP chạy trên môi trường Web server và lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux (LAMP).

PHP có thể thực hiện các công gì ?

  • Tạo ra những trang web có nội dung động.
  • Tạo, mở, đọc, ghi, xóa, đóng file trên server.
  • Thu thập dữ liệu từ form.
  • Gửi và nhận cookies.
  • Thêm, xóa, sửa dữ liệu trong cơ sở dữ liệu.
  • Quản lý quyền truy cập của người dùng.
  • Mã hóa dữ liệu.

PHP được dùng phổ biến hiện nay bởi các lý do nào ?

  • PHP có thể chạy trên các nền tảng khác nhau (Windows, Linux, Unix, Mac OS X, v.v…)
  • PHP tương thích với hầu hết tất cả server hiện nay (Apache, IIS, v.v…)
  • PHP hỗ trợ nhiều loại cơ sỡ dữ liệu khác nhau.
  • PHP miễn phí, có thể được download tại website chính thức của PHP là: www.php.net
  • PHP dễ học và hoạt động hiệu quả ở phía server.

Đặc trưng của PHP

5 đặc trưng quan trọng làm PHP trở thành ngôn ngữ khá tiện lợi:

  • Đơn giản hóa
  • Hiệu quả
  • Bảo mật cao
  • Linh động
  • Thân thiện

Một Website hoạt động như thế nào?

Hầu như mọi website đều hoạt động theo mô hình Client-Server. Các bạn có thể tìm hiểu rõ về mô hình Client-Server này nhé!

Ví dụ để dễ hiểu:

  • Khi bạn truy cập vào trang http://uit.edu.vn
  • Hệ thống DNS sẽ xác định IP của UIT là 118.69.123.137
  • Khi này yêu cầu Request của máy Web Client sẽ chuyển đến máy Web Server có địa chỉ IP 118.69.123.137
  • Máy Web Server sẽ xử lý yêu cầu bằng PHP, lấy thêm cơ sở dữ liệu ở Database Server.
  • Rồi gửi trả về 1 trang HTML,CSS,JS cho trình duyệt Web thông qua một phần mềm chạy trên server là Apache, rồi trình duyệt sẽ xử lý để hiển thị ra cho chúng ta xem nội dung trang chủ UIT.

Như vậy, để học PHP ta cần chuẩn bị những gì?

  • Một chiếc máy tính.
  • Một trình duyệt web.
  • Một trình soạn thảo văn bản (có thể dùng Sublime Text, Zend studio, hiện nay mình thấy Visual studio Code đang phát triển rất mạnh và mình đang dùng trình soạn thảo này để code PHP).
  • Một cuốn sổ tay, cuốn tập để khi lại những hàm cần nhớ, hoặc để design database.
  • Quan trọng nhất vẫn là phải có một niềm đam mê và phải kiên trì vì học rất dễ nản.

Bây giờ chúng ta sẽ đi sang phần thiết lập môi trường để lập trình PHP.

Để thuận tiện học thiết kế web, chúng ta cài đặt vào máy tính một chương trình web server để biến máy tính của mình trở thành một localhost nhằm upload các website và xem các trang web. Sau đây mình sẽ hướng dẫn sử dụng bộ công cụ WampServer để tạo 1 localhost.

Để chạy được các file .php, chúng ta cần những gì ?

  • Cài đặt web server(Apache, IIS,…)
  • Cài đặt PHP (download tại trang: www.php.net)
  • Cài đặt database: MySql,…

Để đơn giản ba công việc trên, ta chỉ cần tải vè cài đặt một web server được đóng gói sẵn.

Ví dụ: Xampp, WampServer, Ampps, VertrigoServer,…

Trong series này mình sử dụng WampServer để thao tác nhé, Các bạn có thể tải gói cài đặt về theo các link mình đã để bên trên.

Cài đặt WampServer vào Windows

WampServer là 1 bộ cài sẵn PHP + Apache + MySQL + Perl, chỉ cần cài WampServer vào là đã có ngay 1 Web Server để học PHP.

Các bạn tải về, sau đó mở file cài đặt lên và cứ next next thoi =))

cài đặt wamp

Nhấn next lần cuối và chờ nó load xong là ta đã có 1 web server rồi. Các bạn chỉ cần click bật server lên là nó sẽ tự động chạy hàng loại các dịch vụ khác như Apache, MySql,…

Đây là giao diện Control Panel của Wamp. Các bạn chú ý nó sẽ có một button hình W màu xanh lá nằm ở dưới thanh taskbar nhé!

Control Panel của Wampserver

Sau khi đã chạy rồi thì bạn mở trình duyệt lên, gõ vào thanh địa chỉ http://localhost/

Nếu ra được như hình thế này thì đã thành công rồi nhé. (Do mình xài nhiều chương trình khác nên mình sử dụng cổng 82, cái bạn cứ vào http://localhost/ bình thường nhé)

Bây giờ bạn vào thư mục cài đặt của Wamp, Tìm đến thư mục www, đây sẽ là nơi lưu tất cả các script php hay web của chúng ta sau này.

Như vậy bạn đã tạo xong một môi trường cần thiết để lập trình PHP rồi đó, sau này để chạy web bạn chỉ cần thêm folder chưa source web của bạn vào www trong thư mục cài đặt của wamp thì sẽ chạy được ngay.

Qua bài viết mình mong các bạn có thể biết được khái niệm cơ bản về php là gì. Để lập trình php ta sẽ cần những gì và cách tạo một môi trường để lập trình ngôn ngữ này như thế nào. Các bạn có khó khăn gì cứ để lại comment bên dưới nhé ❤

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
Xem thêm:

CHÚC CÁC BẠN THÀNH CÔNG

The post Bài 1: Giới thiệu tổng quan ngôn ngữ PHP và hướng dẫn thiết lập môi trường để lập trình PHP appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/learn-php/bai-1-gioi-thieu-tong-quan-ngon-ngu-php-va-huong-dan-thiet-lap-moi-truong-de-lap-trinh-php/feed/ 0
Khóa Học An Ninh Mạng – Ứng Dụng Python Và Web (Cyber Security – Python and Web) http://localhost:82/demowp/khoa-hoc/khoa-hoc-an-ninh-mang/ http://localhost:82/demowp/khoa-hoc/khoa-hoc-an-ninh-mang/#respond Sun, 08 Sep 2019 13:35:50 +0000 http://localhost:82/demowp/?p=6907 Tân Hồng IT xin chia sẻ đến các bạn Khóa Học An Ninh Mạng – Ứng Dụng Python Và Web. Bạn sẽ được tìm hiểu, xây dựng các công cụ phân tích với Python. Bảo vệ các hệ thống và ứng dụng web khỏi các lỗ hổng và hơn thế nữa! Bạn sẽ học được […]

The post Khóa Học An Ninh Mạng – Ứng Dụng Python Và Web (Cyber Security – Python and Web) appeared first on Tân Hồng IT.

]]>
Tân Hồng IT xin chia sẻ đến các bạn Khóa Học An Ninh Mạng – Ứng Dụng Python Và Web. Bạn sẽ được tìm hiểu, xây dựng các công cụ phân tích với Python. Bảo vệ các hệ thống và ứng dụng web khỏi các lỗ hổng và hơn thế nữa!

Cyber Security – Python and Web

Bạn sẽ học được gì từ khóa học:

  • Xây dựng các ứng dụng web an toàn.
  • Sử dụng Python để xây dựng các công cụ cho mục đích chung.
  • Thành thạo trong bối cảnh an ninh mạng hiện tại.
  • Phân tích hệ thống, khắc phục những lỗ hổng bảo mật.
  • Sử dụng Python để xây dựng các công cụ phân tích bảo mật.
  • Phát hiện và phân tích các mối đe dọa bảo mật cho các ứng dụng web.

Yêu cầu khóa học:

  • Máy tính có kết nối Internet.

Khóa học này dành cho ai:

  • Người mới bắt đầu tìm hiểu về an ninh mạng (Cyber Security).
  • Các chuyên gia muốn nâng cao kiến thức của mình trong việc sử dung Python để bảo mật không gian mạng.
  • Bất cứ ai muốn bảo mật ứng dụng web.
  • Chuyên gia bảo mật mạng chuyển sang Python.
  • Sinh viên muốn học lập trình Python và tìm hiểu cách để ứng dụng Python cho an ninh mạng.

 


Download Khóa Học An Ninh Mạng Tại Đây:

Name: Cyber Security – Python and Web

LINK DOWNLOAD KHÓA HỌC (GOOGLE DRIVE)

Khi copy hoặc share cho mọi người vui lòng ghi rõ nguồn SieuShare.Com. Xin cảm ơn!

Hãy bật thông báo trên trình duyệt tại website này để nhận được thông tin khi có khóa học mới được up lên các bạn nhé!

Nếu các bạn có nhu cầu down khoá học cứ liên hệ mình hoặc bình luận dưới bài viết nhé. Mình sẽ sẵn sàng share nếu có. Cảm ơn các bạn.

Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT.Net để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể hỗ trợ donate ủng hộ cho website của mình có thể phát triển hơn nữa. Và chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!

Donate – Xin Ủng Hộ Đóng Góp Website TanHongIT.Net

DONATE FOR tanhongit.net

CHÚC CÁC BẠN THÀNH CÔNG

The post Khóa Học An Ninh Mạng – Ứng Dụng Python Và Web (Cyber Security – Python and Web) appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/khoa-hoc/khoa-hoc-an-ninh-mang/feed/ 0
Khóa Học Thiết Kế Website Với WIX Cho Người Mới Bắt Đầu http://localhost:82/demowp/khoa-hoc/thiet-ke-website-voi-wix/ http://localhost:82/demowp/khoa-hoc/thiet-ke-website-voi-wix/#respond Sat, 07 Sep 2019 14:40:44 +0000 http://localhost:82/demowp/?p=6893 Tân Hồng IT xin chia sẻ đến các bạn khóa học Thiết Kế Website Với WIX Cho Người Mới Bắt Đầu. Bên cạnh WordPress, Wix cũng là hình thức thiết kế Website có sẵn miễn phí và khá phổ biến. Đến với khóa học này, bạn sẽ được làm quen với WIX và có thể […]

The post Khóa Học Thiết Kế Website Với WIX Cho Người Mới Bắt Đầu appeared first on Tân Hồng IT.

]]>
Tân Hồng IT xin chia sẻ đến các bạn khóa học Thiết Kế Website Với WIX Cho Người Mới Bắt Đầu. Bên cạnh WordPress, Wix cũng là hình thức thiết kế Website có sẵn miễn phí và khá phổ biến. Đến với khóa học này, bạn sẽ được làm quen với WIX và có thể tự thiết kế trang web cho riêng mình.

Thiết kế Website với WIX

Bạn sẽ học được gì từ khóa học:

  • Nắm được các kiến thức cơ bản để thiết kế một trang web thông qua WIX.
  • Hướng dẫn dễ hiểu, thao tác dễ dàng.
  • Thiết kế website một cách chuyên nghiệp.
  • Có khả năng cập nhật trang web của bạn bất cứ lúc nào.

Yêu cầu khóa học:

  • Máy tính có kết nối Internet.

Khóa học này dành cho ai:

  • Người mới bắt đầu tìm kiếm một hướng dẫn trang web WIX toàn diện.
  • Những người muốn thiết kế web miễn phí.
  • Bất cứ ai muốn tự tạo và cập nhật trang web WIX cho riêng mình.

 


Download Khóa Học WIX Tại Đây:

Name: WIX Tutorial For Beginners – Make A Wix Website Today!

LINK DOWNLOAD KHÓA HỌC (GOOGLE DRIVE)

Khi copy hoặc share cho mọi người vui lòng ghi rõ nguồn SieuShare.Com. Xin cảm ơn!

Hãy bật thông báo trên trình duyệt tại website này để nhận được thông tin khi có khóa học mới được up lên các bạn nhé!

Nếu các bạn có nhu cầu down khoá học cứ liên hệ mình hoặc bình luận dưới bài viết nhé. Mình sẽ sẵn sàng share nếu có. Cảm ơn các bạn.

Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của Sieushare.com để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể hỗ trợ donate ủng hộ cho website của mình có thể phát triển hơn nữa. Và chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!

Donate – Xin Ủng Hộ Đóng Góp Website SieuShare.Com

DONATE FOR Sieushare.com

CHÚC CÁC BẠN THÀNH CÔNG

The post Khóa Học Thiết Kế Website Với WIX Cho Người Mới Bắt Đầu appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/khoa-hoc/thiet-ke-website-voi-wix/feed/ 0
Chia Sẻ Khóa Học Python Cho Người Mới Bắt Đầu (Python for Beginners: Learn with Examples and Mini-Project) http://localhost:82/demowp/python/khoa-hoc-python/ http://localhost:82/demowp/python/khoa-hoc-python/#respond Tue, 03 Sep 2019 18:51:16 +0000 http://localhost:82/demowp/?p=6874 Tân Hồng IT xin chia sẻ đến các bạn Khóa Học Python for Beginners: Learn with Examples and Mini-Project. Khóa học sẽ hướng dẫn từ cơ bản đến nâng cao ngôn ngữ lập trình Python. Bên cạnh đó là những ví dụ cùng với những project nhỏ giúp bạn thực hành ngay sau khi học. […]

The post Chia Sẻ Khóa Học Python Cho Người Mới Bắt Đầu (Python for Beginners: Learn with Examples and Mini-Project) appeared first on Tân Hồng IT.

]]>
Tân Hồng IT xin chia sẻ đến các bạn Khóa Học Python for Beginners: Learn with Examples and Mini-Project. Khóa học sẽ hướng dẫn từ cơ bản đến nâng cao ngôn ngữ lập trình Python. Bên cạnh đó là những ví dụ cùng với những project nhỏ giúp bạn thực hành ngay sau khi học.

Python For Beginners

Bạn sẽ học được gì từ khóa học:

  • Nắm được các kiến thức cơ bản của ngôn ngữ Python.
  • Có được kiến ​​thức về các khái niệm lập trình cốt lõi như biến, kiểu dữ liệu, luồng điều khiển, hàm và nhiều hơn nữa.
  • Cách làm việc với Python3 một cách chuyên nghiệp.
  • Có kỹ năng và hiểu biết về Python để tự tin áp dụng cho các công việc lập trình Python.

Yêu cầu khóa học:

  • Yêu cầu đầu tiên và quan trọng nhất – Nhiệt tình tìm hiểu!
  • Máy tính – Windows, Mac hoặc Linux.

Khóa học này dành cho ai:

  • Bất cứ ai muốn có được kiến ​​thức về các khái niệm lập trình Python từ cơ bản đến nâng cao.
  • Các lập trình viên biết các ngôn ngữ khác nhưng muốn học Python.
  • Những bạn muốn dùng ngôn ngữ Python cho mục đích liên quan đến nghề nghiệp.

 


Download Khóa Học Python Tại Đây:

Name: Python for Beginners: Learn with Examples and Mini-Project.

LINK DOWNLOAD KHÓA HỌC (GOOGLE DRIVE)

Khi copy hoặc share cho mọi người vui lòng ghi rõ nguồn SieuShare.Com. Xin cảm ơn!

Hãy bật thông báo trên trình duyệt tại website này để nhận được thông tin khi có khóa học mới được up lên các bạn nhé!

Nếu các bạn có nhu cầu down khoá học cứ liên hệ mình hoặc bình luận dưới bài viết nhé. Mình sẽ sẵn sàng share nếu có. Cảm ơn các bạn.

Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của Sieushare.com để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể hỗ trợ donate ủng hộ cho website của mình có thể phát triển hơn nữa. Và chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!

Donate – Xin Ủng Hộ Đóng Góp Website SieuShare.Com

DONATE FOR Sieushare.com

CHÚC CÁC BẠN THÀNH CÔNG

The post Chia Sẻ Khóa Học Python Cho Người Mới Bắt Đầu (Python for Beginners: Learn with Examples and Mini-Project) appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/python/khoa-hoc-python/feed/ 0