Hướng dẫn is stdclass a php?

Hướng dẫn is stdclass a php?

Đã đăng vào thg 8 1, 2017 2:56 SA 1 phút đọc

Constain PHP

PHP có số lượng lớn các hằng số định sẵn. Bài này sẽ trình bày bảy điều quan trọng nhất, thiết thực nhất và hữu ích nhất PHP Magic Constants.

FILE - Đường dẫn đầy đủ và tên tập tin của tệp. DIR - Thư mục của tập tin. FUNCTION - Tên chức năng. CLASS - Tên lớp. METHOD - Tên phương thức của lớp. LINE - Số dòng hiện tại của tệp. NAMESPACE - Tên của không gian tên hiện tại Đây là ví dụ về PHP, cách sử dụng tất cả các PHP Constant được nhắc đến trước đó.

printClassName();

	// This prints method name and used namespace
	$test_magic_constants->printMethodName();

	// This prints function name inside class and used namespace
	// same as method name, but without class
	$test_magic_constants->printFunction();

	// This prints namespace name (works only with PHP 5.3)
	$test_magic_constants->printNamespace();

?>

output

This file full path and file name is '/tmp/magic_constants/magic.php'.
This file full path is '/tmp/magic_constants'.
This is line number 13.
This is from 'TestProject\test_function_magic_constant' function.
This is TestProject\TestMagicConstants class.
This is TestProject\TestMagicConstants::printMethodName method.
This is function 'printFunction' inside class.
Namespace name is 'TestProject'.

Cách chuyển đổi stdClass sang Array và Array sang stdClass:

Tôi nghĩ rằng tất cả các lập trình PHP đã đến qua Array và stdClass Objects. Đôi khi nó rất hữu ích chuyển đổi các Objects sang Array và Array sang Objects. Điều này rất dễ nếu các Array và các Objects là một chiều, nhưng có thể rất khó nếu sử dụng các Array và Objects đa chiều.

Bài này định nghĩa hai hàm đệ quy cực kỳ đơn giản để chuyển đổi các Objects Đa chiều thành Array và Array đa chiều thành Objects.

Chức năng Chuyển đổi các Objects stdClass sang Array đa chiều

Chuyển đổi các Array sang Objects stdClass

ví dụ:

// Create new stdClass Object
	$init = new stdClass;

	// Add some test data
	$init->foo = "Test data";
	$init->bar = new stdClass;
	$init->bar->baaz = "Testing";
	$init->bar->fooz = new stdClass;
	$init->bar->fooz->baz = "Testing again";
	$init->foox = "Just test";

	// Convert array to object and then object back to array
	$array = objectToArray($init);
	$object = arrayToObject($array);

	// Print objects and array
	print_r($init);
	echo "\n";
	print_r($array);
	echo "\n";
	print_r($object);

kết quả:

stdClass Object
(
    [foo] => Test data
    [bar] => stdClass Object
        (
            [baaz] => Testing
            [fooz] => stdClass Object
                (
                    [baz] => Testing again
                )

        )

    [foox] => Just test
)

Array
(
    [foo] => Test data
    [bar] => Array
        (
            [baaz] => Testing
            [fooz] => Array
                (
                    [baz] => Testing again
                )

        )

    [foox] => Just test
)

stdClass Object
(
    [foo] => Test data
    [bar] => stdClass Object
        (
            [baaz] => Testing
            [fooz] => stdClass Object
                (
                    [baz] => Testing again
                )

        )

    [foox] => Just test
)

All rights reserved