• About

Viet PHP

PHP = ['newbie' => 'cơ bản', 'coder' => 'nâng cao', 'professional'=>'chuyên sâu']

  • PHP
    • OOP
    • Basic
  • WordPress
  • Bài tập PHP
  • PHP 7

Hàm array_map() và array_walk()

Posted on May 23, 2018 Written by admin Leave a Comment

Hai thằng array_walk và array_map khá là giống nhau.

1) giống: cả hai đều nhận parameter là array và một hàm callback | hàm xử lý thứ ba.
2) Khác:

+ array_map(“hàm”, $array) có thứ tự parameter ngược với array_walk($array, “hàm”).

+ array_map sẽ return một array còn array_walk sẽ return boolean. nên nếu echo ra chỉ ra 1/0 thui.

Ví dụ bên dưới mình viết sẽ thấy array_map và array_walk cho kết quả giống nhau, nhưng trong hàm dùng với array_walk mình phải tạo một global biến là array để hứng data và in ra phía sau. Nếu trực tiếp print_r thì ra 1 hoặc 0 thôi. Điều này thì hàm array_walk giống y chang họ hàng nhà sort().

Thực chất array_walk() tác động vào array.

Chú ý là cả array_walk và array_map chấp nhận tham số dạng ($array, string $2nd_parameter) hoặc (string $parameter, $array) với string là tên hàm ở ngoài. Mình có thể truyền vào callback là một anonymous function như ví dụ dưới.

Kết quả

https://3v4l.org/gRl0i

Kết quả với code hơi khác https://3v4l.org/UmhdZ

Filed Under: Basic, PHP

hàm ẩn danh aka lambda và closure là một object của class dựng sẵn Closure

Posted on April 18, 2018 Written by admin Leave a Comment

Hàm ẩn danh (anonymous function), còn gọi là lambda.

 

https://3v4l.org/urfh9

Closure:

cũng có gettype() là object, cho phép sử dụng biến truyền vào trong hàm ẩn danh bằng từ khóa use.

//clousure
$message = "hello";
$greet = function ($name) use ($message) {
echo $message . ' ' . $name;
};

$message = 'ví dụ';

$greet('Daisy'); // vẫn là hello Daisy

echo "<br>";

echo gettype ($greet);

Closure có thể nhận hơn 1 tham số. Xem code dưới:

<?php

$closure = "tham số 1 của closure";
$b = 'tham số 2 của closure ';

$ham = function() use ($closure, $b
) {
    
    echo "closure gồm 2 tham số: ".$closure." - ".$b;
    
};
    
echo $ham();
    
echo gettype($ham);

//output

//closure gồm 2 tham số: tham số 1 của closure - tham số 2 của closure object

https://3v4l.org/ko5FX

Filed Under: Basic, PHP

Bài tập Array [4]

Posted on April 14, 2018 Written by admin Leave a Comment

Bài toán sau nói về việc sử dụng hàm count() với số.

Hàm này vốn chỉ để đếm thành viên trong array hay object. Giờ đếm số thì sao?

Định nghĩa của PHP thần thánh.

count — Count all elements in an array, or something in an object

Hàm count() vốn chỉ đếm array hay object, nhưng nếu nó đếm số thì kết quả sẽ trả về 1. Thật buồn cười :-).

[Read more…]

Filed Under: Bài tập PHP, Basic, PHP

Chuyển đổi cơ số từ hệ nhị phân (Binary) 16 (Hex) và 8 (octal) sang 10 (decimal)

Posted on April 14, 2018 Written by admin Leave a Comment

Hệ số đếm quen thuộc vẫn là hệ số 10. Nhưng máy tính lại dùng hệ nhị nhân để xử lý. Ta còn có cơ số 8 (octal) và cơ số 16 (hex)

Để chuyển đổi cơ số nhị phân (binary), 8 (octal) và 16 (Hex – hexadecimal) sang cơ số 10 (decimal), đầu tiên ta xem các hệ số giống khác nhau như thế nào qua bảng sau. Tiếp đến ta sẽ tìm cách chuyển đồi các cơ số dạng nhị phân, bát phân và thập bát phân sang hệ thập phân.

[Read more…]

Filed Under: Basic, PHP

  • 1
  • 2
  • 3
  • Next Page »

Recent Posts

  • How to pass a variable to the callback function provided by Laravel Collection
  • Cài Sodium trên PHP 7.2 Centos
  • Dependency Injection và Container
  • Hàm array_map() và array_walk()
  • Dependency Injection

Recent Comments

  • admin on Dependency Injection
  • Vượng on Dependency Injection
  • vượng on Dependency Injection
  • vượng on Dependency Injection
  • vượng on Dependency Injection

Archives

  • July 2018
  • June 2018
  • May 2018
  • April 2018

Categories

  • Bài tập PHP
  • Basic
  • Laravel
  • OOP
  • OOP
  • PHP
  • String
  • Uncategorized
  • WordPress

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Copyright © 2021 · Focus Pro on Genesis Framework · WordPress · Log in