Thứ Hai, 19 tháng 8, 2013

Học php cơ bản tại cầu giấy hà nội - Bảo mật cho website của bạn 5

  Ở bài tiếp theo này, blog học lập trình php cơ bản tại cầu giấy hà nội sẽ giới thiệu loạt bài tiếp theo về bảo mật website của bạn trên môi trường internet. 

Bảo mật website là phải chú ý đến từng phần tử của trang web mà kẻ tấn công có thể lợi dụng thông qua giao diện của ứng dụng. Điểm yếu hay bị lợi dụng nhất đó là bao gồm form và các URL, nên việc bảo mật web có nghĩa là kiểm tra tính hợp lệ của form và link.

Bị đánh cắp tên miền

 

Đánh cắp tên miền cũng là phương pháp tấn công, đặc biệt cho mục đích defacing. Tính bảo mật của tên miền phụ thuộc vào nhiều yếu tố như sự bảo mật của registrar, sự bảo mật của hòm thư đăng ký tên miền…. Nếu hòm thư đăng ký tên miền bị mất cắp thì cơ hội tên miền ấy dễ dàng bị mất cắp rất cao. Tên miền bị mất cắp phần lớn do thủ thuật phishing, xss… chủ yếu là tổ hợp tấn công vào người dùng nhẹ dạ hoặc gần đây, phương thức cài trojans và keyloggers để đánh cắp password cũng là phương thức bắt đầu phổ biến. Nếu tên miền bị mất thì cơ hội bị deface sẽ lâu dài (ít ra cho đến khi nào tên miền được phục hồi).
Để kiện toàn bảo mật tên miền, nên chú trọng các điểm sau:

- Chọn một registrar có uy tín (về vấn đề bảo mật và xử lý hành chính)

Một registrar càng lớn, có công cụ quản lý trên web càng phức tạp thì cơ hội bị lỗ hổng bảo mật càng nhiều. Nếu tên miền có giá trị quan trọng đến doanh nghiệp, nên sử dụng chọn lựa quản lý trực tiếp mặt đối mặt (in person) thay vì xuyên qua web. Tất cả mọi thay đổi trên tên miền chỉ nên được thực thi khi có giấy tờ chứng minh chủ quyền (bằng lái, biên nhận mua tên miền….v…v…). Tên miền nên luôn luôn áp dụng tình trạng “Registrar Lock”. Không nên để ở trạng thái “OK”.

- Tuyệt đối không bao giờ dùng hòm thư miễn phí (như yahoo, gmail…) để đăng ký tên miền

Nếu không có chọn lựa nào khác, nên dùng gmail và sử dụng tính năng 2 factors verification của gmail để bảo vệ hòm thư của mình. In ra các giao dịch đăng ký tên miền hoặc tải về và lưu trong một USB nào đó để cất kỹ rồi xoá hết trọn bộ các thông tin liên quan đến việc đăng ký tên miền trong hòm thư gmail.

- Cẩn thận trong việc đăng nhập

Cũng như phần XSS, nên sử dụng một máy ảo để thao tác việc đăng nhập vào hòm thư quan trọng dùng để đăng ký tên miền cũng như control panel của tên miền. Thao tác xong là thoát ngay và tuyệt đối tránh duyệt web đại trà trên máy ảo ấy.

- Theo dõi thường xuyên tình trạng của tên miền xuyên qua tiện ích whois

Việc này có thể làm bằng tay hàng ngày hoặc tự động bằng cách viết một script tự động để thực thi “whois” trên command line. Nếu tình trạng tên miền bị thay đổi (ví dụ như từ “Registrar Lock” chuyển sang “OK”, hoặc email dùng để đăng ký tên miền bị thay đổi) thì cảnh báo ngay xuyên qua email hoặc SMS, tuỳ cách ứng dụng. Thông thường, việc chuyển tên miền từ một registrar này sang một registrar khác cần thời gian và cần sự xác nhận. Bởi vậy, ngay khi tình trạng của tên miền bị thay đổi, phải liên hệ ngay với registrar bằng mọi cách (kể cả gọi điện trực tiếp) để ngăn chặn tình trạng tên miền bị chuyển đi nơi khác.


Các bạn xem các bài tiếp theo ở đây : http://hocphpcobanmydinhhn.blogspot.com/
Blog hướng dẫn cơ bản học php tại cầu giấy hà nội cũng  xin chia sẻ một số link học php từ căn bản đến chuyến sâu cho các bạn sv hà nội quan tâm trang chia sẻ kiến thức về sqlPHP tại đây : http://daotaolaptrinh.edu.vn/tai-lieu-php.html
hoặc học tại trang blog hỗ trợ bài tập php cơ bản: http://baitaphocphpcoban.blogspot.com/
Chúc các bạn thành công !!

 

 

Thứ Ba, 13 tháng 8, 2013

Học php cơ bản tại cầu giấy hà nội chia sẻ kinh nghiệm về php

Blog Học PHP cơ bản ở cầu giấy hà nội hôm nay sẽ chia sẻ trả lời các câu hỏi, học PHP cơ bản, Học PHP cơ bản như thế nào, Học lập trình PHP cơ bản ở đâu, Học thiết kế web cơ bản bằng ngôn ngữ php , Quản trị web ở đâu tốt nhất.


Có thể tự học lập trình, học lập trình PHP, học lập trình phần mềm, thiết kế và lập trình website không?
Và học như thế nào là hiệu quả?
Nếu muốn tìm trung tâm đào tạo lập trình để học thì nên học ở đâu thực tế và uy tín nhất?
Các câu hỏi vẫn hay xuất hiện trên Google xoay quanh 2 câu hỏi trên bao gồm:
Học lập trình ở đâu?
Học lập trình website ở đâu?
Học lập trình phần mềm ở đâu?
Học PHP ở đâu?
Học lập trình PHP ở đâu?
Học thiết kế website ở đâu tốt nhất?
Học lập trình website ở đâu tốt?
Học quản trị website ở đâu?
Trung tâm nào đào tạo lập trình viên tốt nhất?
Đây có lẽ là những câu hỏi mà rất nhiều bạn học viên đã đặt ra trên các diễn đàn trong suốt thời gian qua.
Trước đây (cách đây khoảng mấy năm) tài liệu PHP vẫn còn chưa được sử dụng nhiều ở Việt Nam, có lẽ để tìm được một lớp học là điều vô cùng khó.
Đa số dân đam mê về Lập trình, thiết kế website với PHP như chúng tôi toàn phải tìm kiếm tài liệu ở trên mạng với đa số tài liệu trong đó là Tiếng Anh, góp nhặt và không thành hệ thống hoàn chỉnh.
Điển hình nhất phải nói đến các bộ code về diễn đàn như: Vbulletin, PHPBB,.. rồi các bộ code về âm nhạc như Xtremedia, code về portal, tin tức, shopping bán hàng thì có Joomla, CHF, Mambo, Drupal, Nukeviet,…
Chúng tôi dùng những bộ code trên để cài đặt ra để sử dụng, rồi nghiên cứu về các bộ code đó cũng có, chỉnh sửa và phát triển cũng có, lập trình thêm các modules chức năng cũng như giao diện về nó cũng có…
Rồi khi lượng diễn đàn với thành viên nhiều, website với lượng truy cập nhiều thì lại xảy ra những vấn đề mang tính cạnh tranh đấu đá giữa các website, diễn đàn bằng các kỹ thuật tấn công dựa vào lỗi của người quản trị, của hosting, server cũng như lỗi về code…
Điều đó khiến cho chúng tôi lại phải cập nhật thêm kiến thức về những điều này để phòng tránh, chống đỡ lại các cuộc tấn công và đôi khi cũng mang nó thử nghiệm tấn công vào các hệ thống khác với các mục đích khác nhau…
Có được lượng kiến thức nhất định bập bẹ gia nhập vào các diễn đàn chuyên về IT, chuyên về Hacking cũng giúp các bạn học hỏi được thêm rất nhiều…
Rồi với các kiến thức tự mình học được kèm với những kiến thức học trên trường sẽ lại là nền móng giúp bạn có thể may mắn được 1 công ty chuyên về lập trình đón nhận.
Những bước đi tiếp theo vững vàng hơn, thực tế hơn, và chuyên nghiệp hơn có lẽ bắt đầu từ đây đó…
Trên đây là 1 phần câu chuyện về những ngày đầu bắt đầu sự nghiệp CNTT của tôi.
Nhưng khác với một số người, những kiến thức trên, những nỗ lực có được là khi bước chân vào giảng đường Đại Học, CĐ hoặc Trung Cấp thì với tôi đó lại là niềm đam mê ngay từ khi học lớp 10 với sản phẩm đầu tay là xây dựng 1 diễn đàn cho lớp học cấp 3 và mọi bước đi cứ như thế tiếp tục…
Tôi yêu CNTT từ những năm còn học cấp 3 mặc dù hoàn cảnh gia đình khó khăn và không mua nổi 1 chiếc máy vi tính cũ, càng không có tiền để ngồi các quán NET trong một khoảng thời gian dài…
Phải công nhận một điều rằng: "Tôi với CNTT có lẽ là 1 cái duyên… với quá nhiều nỗ lực, may mắn và cả những điều kỳ diệu mà chỉ khi nhìn lại tôi mới có thể cảm thấy được rõ ràng những điều đó".
Ngày nay với các bạn việc tự tìm hiểu có lẽ không còn nhiều khó khăn nữa, vì bạn đã có Google là đỉnh cao của tri thức, có hàng ngàn diễn đàn trao đổi, thảo luận về lập trình, hàng ngàn các website hướng dẫn theo kiểu từ A -> Z, và có cả 1 cộng đồng Youtube.com với rất nhiều các Clip, video hướng dẫn theo kiểu tutorial cùng đủ mọi thứ tiếng…
Nhưng phải thực sự nói rằng, người Việt Nam chúng ta vẫn có câu: "Không thày đố mày làm nên".
Câu nói đó vẫn đúng trong nhiều trường hợp, tuy không phải là tất cả.
Các bạn vẫn đổ xô đi tìm các trung tâm đào tạo đó là điều đương nhiên muôn đời và không lấy gì làm lạ.
Blog hướng dẫn học cơ bản php tại cầu giấy hà nội cũng  xin chia sẻ một số link học php từ căn bản đến chuyến sâu cho các bạn sv hà nội quan tâm:Tại ba đình hà nội http://hocphpcobanbadinhhn.blogspot.com/Tại long biên hà nội : http://lophocphpcoban.blogspot.com/Từ liêm hà nội : http://hocphpcoban-hn.blogspot.com/Chúc các bạn thành công !!
Bởi dù bạn có chăm chỉ tìm kiếm thông tin trên mạng, học qua các tài liệu có được thì dẫu sao đó cũng chỉ là những kiến thức góp nhặt khó có thể trở thành hệ thống hoàn chỉnh cũng như áp dụng vào thực tế với 1 dự án chuyên nghiệp nào đó.
Việc các bạn tự tìm hiểu là điều vô cùng khuyến khích. Nhưng cũng giống như việc học Piano hay Guitar nếu bạn tự mò, việc đánh thành công 1 vài bản nhạc có lẽ là điều không khó. Nhưng để bạn hành nghề được với những công việc đầy tính nghệ thuật đó thì bạn cần phải có cả sự đào tạo bài bản với những tài liệu php cơ bản, giáo trình php, học với video php từ căn bản đến chuyên sâu, bên cạnh sự đam mê và năng khiếu thiên bẩm.
Nhưng với tình hình giáo dục hiện nay ở Việt Nam thì vẫn còn nhiều trường học, trung tâm mang nặng các kiến thức lý thuyết, sách vở mà ít có thực hành, thực tiễn và đúc kết rồi chia sẻ từ thực tế giữa thày và trò.
Mỗi một nơi có một phương pháp đào tạo khác nhau.
Nhưng về phía bản thân tôi, tôi thường thích đưa ra kết quả trước, cho các bạn làm ra sản phẩm thực tế trước để các bạn thấy thích thú với kiến thức và kết quả đó rồi thì việc nghiên cứu sâu sẽ chỉ còn là tự trong ý thức của các bạn, nó sẽ không còn là ép buộc nữa.
Lý thuyết là điều không thể thiếu. Nhưng nếu chỉ có xoay vần với lý thuyết mà không chia sẻ cho học viên những kinh nghiệm thực tế thì cũng giống như việc giảng cho học viên biết hết các chi tiết của 1 chiếc xe rồi bắt mọi người tự ghép lại thành 1 chiếc xe và vận hành cho nó chạy…
  "Kết quả của học viên chính là thành quả của sự nỗ lực ở thày giáo!"
Tôi luôn tôn trọng điều đó vì đó là sự nghiệp, và là cả cuộc sống của mình không chỉ bây giờ mà còn mãi về sau.
Tôi cần phải dạy bằng cả tâm huyết và tình cảm của mình để hết lớp học này các bạn sẽ còn kéo thêm nhiều lớp học khác, mang các bạn đến với tôi chứ tôi không muốn tự lấp lại con đường mà do chính tay mình đào bới bao lâu nay có được…
Đào tạo và chăm sóc cho từng người, không phân biệt lớp có bao nhiêu học viên, 
Đào tạo với những kiến thức cập nhật mới nhất, hay nhất,
Đào tạo với những kiến thức và phương pháp thực tế nhất "học để làm được việc",
Đào tạo với những thành công cụ thể nhất từ dễ đến khó,
Đào tạo với những kinh nghiệm thành công từ bản thân và không giấu nghề,
Đào tạo với phương pháp mang cảm hứng đến cho học viên thay vì học viên buộc phải học 1 cách thụ động,
Và hơn cả là:
"Đào tạo từ A -> Z cho cả những người chưa từng biết gì về lập trình".
Mong rằng với những chia sẻ trên đây của tôi, sẽ giúp các bạn sẽ sớm tìm ra được hướng đi và quyết định cho bản thân mình trong việc tìm hiểu phương pháp và địa chỉ học tập phù hợp đối với CNTT, bộ môn lập trình và cả lập trình thiết kế website, lập trình PHP.
Các bạn có thể học hỏi thêm và tham khảo ở trang chủ đào tạo chia sẻ kiến thức php cơ bản : http://daotaolaptrinh.edu.vn/tai-lieu-php.html
Tự học trong một khoảng thời gian rất lâu để thành công và với những kiến thức khó để trở thành hệ thống?
Hay 
Đăng ký tham gia một khóa học kết hợp với phương pháp tự học?
Rồi
Phải chọn đâu là nơi sẵn sàng đặt niềm tin theo học?
Mong nhận được sự ủng hộ và đóng góp của các bạn sinh viên muốn theo học lập trìnhcầu giấy hà nội nói chung và các bạn sinh viên ở hà đông nói riêng. Các blog tìm hiểu về tổng quan PHP cơ bản ở cầu giấy hà nội sẽ tiếp tục với các blog tiếp theo.

PHP Framework những điều nên và không nên


Ngày nay, nói đến lập trình viên học PHP cơ bản hay những người lập trình chuyên nghiệp đều nghĩ tới 1 phương tiện là PHP Framework. Vì nó giúp lập trình viên giảm thiểu tối đa thời gian phải viết lại những thao tác cơ bản.  

 Hơn nữa, PHP Framework còn làm cho lập trình viên có nhiều thời gian nghiên cứu và cập nhật công nghệ mới, bởi họ không mất quá nhiều thời gian cho việc tìm tòi hay vận dụng những kiến thức mà cơ bản là đã quá nhàm chán với họ trong các dự án.

Thật vậy, PHP Framework hiện nay khá đầy đủ và đáp ứng hầu hết các điều kiện cần và đủ cho việc xây dựng một dự án. Nói tới Framework thì nổi bật nhất vẫn là những tay gạo cội và lão làng như: Zend Framework, CodeiGniter Framework, CakePHP Framework,.... Các framework này chú trọng những chi tiết nhỏ nhất trong lập trình. Nhằm giảm tải thời gian vận dụng cho người sử dụng chúng. Chẳng hạn như các helper giúp người dùng xây dựng form, các helper giúp người dùng sử dụng những thẻ HTML, các helper giúp người dùng validation các form và dữ liệu,....Những điều này, thực tế chỉ góp phần làm cho Framework đó trở nên thân thiện và quen thuộc với người dùng nhiều hơn thôi.

Nhưng thực tế, PHP Framework cũng để lại những hệ lụy tác động tới nhiều yếu tố của ứng dụng hay nghiêm trọng hơn vẫn là tới yếu tố con người. Trong bài này, chúng ta cùng phân tích xem. Vấn đề gì cần quan tâm và cần chú ý khi vận hành bất kể PHP Frameworknào nhé.

Cần hay không cần những helper như thế ?.

Nếu phải hỏi các lập trình viên rằng "Bạn có biết HTML hay không ?. Bạn có biết tạo form bằng HTML hay không ?." Sẽ không ít người cười và cho rằng bạn đang làm những việc dư thừa. Ở đẳng cấp một lập trình viên. Thì đó là yếu tố cơ bản bắt buộc họ phải học qua, vậy tại sao chúng ta còn đợi chờ một PHP Framework thay ta làm những công việc như thế. Có, dĩ nhiên là tốt. Nhưng không có cũng chẳng ảnh hưởng tới ai. Hơn nữa với việc cập nhật các thư viện này sẽ khiến cho ứng dụng trở nên chậm chạp và khó vận hành hơn. Một điều mà các PHP Framework luôn phải chịu tác động.

Model bài toán nan giải dành cho các framework.

Hầu hết các PHP Frameworkđều xây dựng trên mô hình M-V-C một trong những design pattern. Mô hình này sẽ tách code thành 3 phân vùng khác nhau với 3 trách nhiệm khác nhau. Controller sẽ đóng vai trò tiếp nhận request (yêu cầu) để chuyển chúng tới cho Model. Lúc này model sẽ vận hành các cấu trúc Active Record hoặc SQL thuần để lấy ra thông tin từ database sau đó đổ chúng vào dạng mảng. Lúc này khi controller yêu cầu tới request nào nó sẽ đẩy mảng thông tin đó vào view. Tại view để lấy được các giá trị trong mảng, ta lại phải duyệt mảng để lấy ra từng phần tử đơn lẻ như thế. Việc này càng làm cho ứng dụng trở nên chậm chạp. Góp phần gia tăng % "rùa" của PHP Framework.

Autoload - yếu tố chí mạng làm chậm framework.

Để giúp người sử dụng dễ dàng vận hành các thư viện, các PHP Frameworkthường cho phép tính năng autoload luôn bật on ở mọi thứ. Điều này giúp cho người lập trình không tốn thời gian khởi tạo các đối tượng khi cần dùng tới. Bởi chúng đã được triệu gọi ngay khi chúng ta truy cập tới controller mất rồi. Có vẻ lợi nhiều hơn hại các bạn nhỉ. Nhưng thực tế, chính autoload trở thành bài toán nan giải khi người sử dụng triệu gọi một đối tượng bất kỳ. Vì không phải controller nào cũng cần những thư viện giống nhau. Nó tùy thuộc vào yêu cầu của controller đó như thế nào và ra sao. Do đó, đừng bao giờ áp đặt cho PHP Frameworkcủa chúng ta phải load tất cả các thư viện. Đúng là lợi đấy, nhưng nếu lợi 1 thì hại sẽ là 10 cho ứng dụng của bạn.

Hướng đối tượng - câu chuyện muôn thuở cho các framework.

Để code được mạch lạc, được trong sáng. Người lập trình đều muốn đưa mã nguồn của họ về hướng đội tượng Để giúp họ phát huy yếu tố kế thừa và vận hành hiệu quả những gì mà họ đã từng làm với các ứng dụng trước đó. Hơn nữa, mô hình hướng đối tượng (Object-Oriented Programming) cũng là một thế mạnh của PHP. Nên cứ thế mà lập trình viên không ngừng xây dựng code của mình theo hướng đó. Đúng là OOP làm code trở nên trong sáng và rõ ràng, nhưng lạm dụng OOP một cách thiếu linh động sẽ làm gây tác dụng ngược lại với lợi ích mà chúng ta luôn mong muốn. Nên vận dụng OOP thật khéo léo với design pattern để phát huy tối đa sức mạnh mà OOP vốn có.

Và tư duy ngủ quên - mối hiểm họa đáng lo lắng cho lập trình viên.

PHP Frameworkđúng một trong những bước tiến đáng kể của PHP. Bởi việc xây dựng hàng loạt các thư viện giúp người dùng giải quyết bài toán một cách khoa học và không cần phải làm lại những thao tác đã quá căn bản. Nhưng cũng chính vì những điều này mà PHP Frameworklàm cho người lập trình có thói quen ỷ lại một cách nghiêm trọng khi vận dụng PHP Framework. Chẳng hạn ở phiên bản CodeIgniter 1.7.2, CodeIgniter đã hỗ trợ cho người sử dụng cả thư viện shopping cart, image,....Việc này vô tình làm cho Lập trình viên PHP có suy nghĩ lười nhác trong việc vận dụng và phát triển. Với họ việc tạo 1 cart online chỉ đơn giản là móc, móc, trỏ, trỏ. Gọi lớp kia, gọi lớp này là xong. Vô tình chính PHP Framework đã giết chết suy nghĩ của người lập trình.

Người ta hay đòi hỏi một món ăn thật ngon miệng, thật chất lượng và chế biến phải thật nhanh. Thế rồi khi có món ăn như thế họ luôn nghĩ rằng ăn như vậy mới là đúng cách, mới là tiết kiệm thời gian. Nhưng thực tế, những hệ lụy của việc sử dụng "fast food" luôn đem lại những bất cập về nhiều mặt. Ví như một món ăn, khi đã chế biến nhanh thì làm sao mà sạch được, mà khi đã không sạch thì dùng vào cơ thể tác hại nhiều hơn là tác dụng. PHP Framework cũng thế, nếu lúc nào lập trình viên cũng chỉ biết dựa vào PHP Framework mà quên mất PHP Framework cũng được làm nên từ những kiến thức mà họ có được. Thì chắc chắn, lập trình viên đó mãi sẽ không thể thoát khỏi cái bóng lớn của PHP Frameworkđem lại. Vậy ở khía cạnh 1 lập trình viên, chúng ta nên có cách nhìn đúng đắn. Khi PHP Frameworkcung cấp 1 thư viện mới, đừng ngần ngại vọc xem làm thế nào chúng giải quyết bài toán đó. Từ đó ta mới có thể rút ra được những cải tiến, tối ưu mà PHP Frameworkđem lại. Chưa kể nó sẽ bổ sung một lượng kiến thức khổng lồ cho bạn khi đọc sâu và tìm hiểu chu trình hoạt động của một thư viện PHP Framework bất kỳ.

Chủ Nhật, 11 tháng 8, 2013

Hàm và mảng cơ bản trong lập trình PHP

Trong tài liệu hoc về PHP cơ bản cũng tồn tại một loại dữ liệu được gọi là mảng. Cụ thể hơn mảng là 1 biến danh sách. Nghĩa là, một biến vốn chứa nhiều phần tử được tạo bởi các số hoặc chuỗi. 

Nó cho phép chúng ta lưu trữ, sắp xếp thứ tự và truy cập nhiều giá trị với một tên. Và cần lưu ý rằng một phần tử mảng luôn bắt đầu với giá trị là 0 .  
mảng trang php


 






Tìm hiểu kỹ về các thành phần của mảng một chiều, nhiều chiều và các hàm cơ bản vể xử lý dữ liệu, cấu trúc mảng, sự sắp xếp đồng bộ sẽ giúp ích cho các bạn rất nhiều trong việc học php chuyên sâu và thực hiện ứng dụng php lớn .
1- Định nghĩa mảng trong PHP:
Với cú pháp giống với java ta có cách gọi 1 mảng như sau:
?
1
2
3
4
5
$tên_biến= array("Kenny","Maria","Julia","Kenvin")
Như vậy khi gọi giá trị trong mảng ta có:
Echo $tên_biến[2]; // Giá trị sẽ cho là Julia.
Ngoài cách khai báo ở trên chúng ta cũng có thể khai báo bằng cách khác như sau:
?
1
2
3
4
5
6
7
$tên_biến[] = "Kenny";
$tên_biến[] = "Gillian";
$tên_biến[] = "Charlene";
$tên_biến[] = "Calvin"
Chúng ta không cần thêm ký tự vào. Vì PHP đã tự xử lý cho chúng ta phần đó.
Để thêm 1 phần tử vào mảng chúng ta cũng có thể sử dụng như sau:
?
1
$tên_biến[] = "Jiro";
Như vậy nếu chúng ta gọi giá trị: echo $tên_biến[4] thì giá trị sẽ là jiro. Vì nó được PHP thêm vào sau cùng và ngầm hiểu là giá trị tiếp theo.
Ví dụ:
?
1
2
3
4
5
6
7
<?php
$a=array("Kenny","Maria","Julia","Kenvin");
echo $a[2]; //Xuất ra giá trị Julia
?>
2- Khái niệm mảng kết hợp trong PHP
Là các mảng được tạo index bằng các chuỗi , chúng được gợi là các mảng kết hợp.
Ví dụ:
?
1
2
3
4
5
<?
$a= array (name => "Kenny", job => "Teacher", age=>"45", email => "webmaster@vietchuyen.com.vn")
?>
Như vậy để truy cập giá trị của mảng trên chúng ta không thể sử dụng cách cũ được.
Ví dụ: Để lấy giá trị của tuổi tôi không thể sử dụng cách trên : echo $a[2].
Vì chúng ta đã gán giá trị của index cho 1 tên gọi khác. Do vậy để lấy giá trị của tuổi ta sử dụng như sau: echo $a[age] // Kết quả sẽ cho ra 45.
?
1
2
3
4
5
6
7
<?
$tên_biến= array (name => "Kenny", job => "Teacher", age=>"45", email => "webmaster@vietchuyen.com.vn")
echo $a[age];
?>
3- Phép lặp trong mảng:
Cú pháp:
foreach($array as $temp)
{ Hành Động }
Trong đó $array là mảng mà ta muốn thực thi việc lặp dữ liệu, và $temp là một biến trong đó ta sẽ tạm thời lưu trữ mỗi phần tử.
Ví dụ:
?
1
2
3
4
5
6
7
8
9
<?php
$name= array("Kenny", "Jiro", "Calvin", "Gillian");
foreach ($name as $test)
{ echo "$test<br>"; }
?>

b) Lặp lại qua một mảng kết hợp:

Cú pháp:
Foreach($array as $key=>$value)
{ Hành Động }
Trong đó $array là mảng mà ta muốn thực thi việc lặp dữ liệu, $key là một biến vốn tạm thời chứa mỗi khóa, và $value là một biến vốn tạm thời chữa mỗi giá trị.
Ví dụ:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$person= array(name=>"Kenny", job=>"Teacher", email=>"whiletionvn@gmail.com", age=>"38");
foreach($person as $key=>$test)
{
echo "Key: $key. Gia Tri: $test<br>";
}
?>

4- Các hàm hỗ trợ trong PHP:

Trong php luôn có các hàm cơ bản hỗ trợ lập trình và việc học lập trình. Ở đây, mình nêu ra các hàm cơ bản như : 

+ Hàm gộp mảng:
Cú pháp: array_merge($mang1, $mang2);
+ Hàm tách mảng:
Cú pháp: array_slice($mang, vị trí tách, số lượng tách);
+ Hàm sắp xếp mảng:
Cú pháp: sort($mảng);
+ Hàm sắp xếp mảng theo chỉ mục:
Cú pháp: ksort($mảng);
+ Hàm tìm phần tử có tồn tại trong mảng hay không ?.
Cú pháp: in_array(giá trị tìm, $mảng);
5 – Tổng kết:
Qua bài học này, chúng ta tìm hiểu kỹ về các thành phần của mảng một chiều, nhiều chiều và các hàm cơ bản vể xử lý dữ liệu. Hiểu rõ cấu trúc cơ bản về mảng , học cách sự sắp xếp đồng bộ sẽ giúp ích cho các bạn rất nhiều trong những ứng dụng php lớn.