Programming HandBook part 68

Chia sẻ: Dương Tùng Lâm | Ngày: | Loại File: PDF | Số trang:6

0
25
lượt xem
4
download

Programming HandBook part 68

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'programming handbook part 68', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Programming HandBook part 68

  1. print "Chào bạn, {$cookie['member_name']}. Bạn có mật khẩu là: {$cookie['memb er_pwd']}"; ?> III. Xóa cookie: Để xóa cookie ta cũng làm như tạo cookie. Để xóa cookie ta chỉ cần thiết lập giá trị là 0 (Số không) cho các cookies cần xóa. Bạn tạo file del_cookie.php có code như sau: PHP Code:
  2. var_dump($arr); ?> Kết quả thu được sẽ là: Quote: array(6) { [0]=> int(5) [1]=> int(3) [2]=> int(6) [3]=> int(4) [4]=> int(2) [5]=> int(1) } array(6) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) [5]=> int(6) } Các bạn có thể thấy là các giá trị đã được sắp xếp tăng dần tuy nhiên các key cũng đã bị thay đổi. Để dữ nguyên các key ban đầu, ta sử dụng hàm asort. Thay thế hàm sort trong ví dụ bằng asort thì sẽ thu được kết quả như sau: Quote: array(6) { [0]=> int(5) [1]=> int(3) [2]=> int(6) [3]=> int(4) [4]=> int(2) [5]=> int(1) } array(6) { [5]=> int(1) [4]=> int(2) [1]=> int(3) [3]=> int(4) [0]=> int(5) [2]=> int(6) } Các hàm này cũng sẽ làm việc tốt đẹp với các xâu kí tự, tuy nhiên với 1 mảng có các giá trị "report1.pdf", "report5.pdf", "report10.pdf", and "report15.pdf" thì kết quả thu được sẽ là: Quote: "report1.pdf", "report10.pdf", "report15.pdf", "report5.pdf" Đơn giản là vì mã ASCII của "1" nhỏ hơn "5" nên kết quả sẽ ra như vậy. Để giải quyết vấn đề này, thay vì sort và asort ta sử dụng natsort hoặc natcasesort. Kết quả thu được sẽ là: Quote: "report1.pdf", "report5.pdf", "report10.pdf", "report15.pdf" Sắp xếp mảng nâng cao Giả sử bạn có mảng nhiều chiều sau: PHP Code:
  3. Khi muốn sắp xếp mảng $bikes theo price của mỗi phần tử thì làm thế nào? Không thể dùng các hàm ở trên được! Vậy giải pháp duy nhất là ta sẽ phải tự sắp xếp PHP Code:
  4. Trong ví dụ trên, mấu chốt chính là ở hàm uasort, hàm này sẽ so sánh từng giá trị trong mảng với nhau bằng hàm so sánh compare_price. Hàm này sẽ so sánh 2 giá trị được đưa vào là $in_bike1 và $in_bike2 rồi trả lại 1 trong 3 giá trị: 1, 0 hoặc (- 1) khi so sánh price của $in_bike1 và $in_bike2. Sau cùng ta sẽ thu được kết quả: Quote: Bike Off-Roadster costs $4295 Bike Slasher XYZ 1000 costs $11450 Bike Grande Tour Meister costs $12999 Sắp xếp ngược lại Trong các phần trên ta đều thấy sắp xếp tăng dần, vậy để sắp xếp giảm dần thì làm thế nào? Ta có thể sử dụng rsort và arsort thay thế cho sort và asort. Chú ý là không có ursort! Để sắp xếp ngược lại bạn chỉ cần đảo ngược thứ tự trong hàm so sánh của mình Sắp xếp theo key Để sắp xếp theo key, ta có các hàm ksort, krsort, và uksort. Sắp xếp theo key sẽ luôn giữ nguyên các key vì vậy không có kasort. Các giá trị đi kèm mỗi key cũng sẽ được giữ nguyên Các hàm khác array_merge Hàm này sẽ nhận vào 2 mảng và trả lại 1 mảng trong đó bao gồm tất cả các giá trị của 2 mảng ban đầu. Các key sẽ được giữ nguyên trừ trường hợp: 1. 2 mảng có 1 key là xâu kí tự giống nhau, thì giá trị của mảng thứ nhất sẽ bị ghi đè bằng giá trị của key đó ở mảng thứ hai 2. Ở mảng thứ hai nếu trùng các key là số nguyên với mảng thứ nhất, thì các giá trị của mảng thứ hai sẽ nhận 1 key mới (không ghi đè) Xét ví dụ: PHP Code:
  5. $newar = array_merge($ar1, $ar2); print_r($newar); ?> Kết quả thu được sẽ là: Quote: Array ( [name] => Zimbu [0] => 10 [1] => 100 [2] => 2 [3] => 3 [4] => 4 ) array_combine Hàm này nhận vào 2 mảng rồi trả lại 1 mảng, trong đó các key là các giá trị của mảng thứ nhất, các giá trị là từ mảng thứ hai. Nếu 2 mảng không có cùng số phần tử sẽ báo lỗi. Xét ví dụ sau: PHP Code:
  6. )
Đồng bộ tài khoản