Làm cách nào để chuyển đổi chuỗi thành đối tượng trong PHP?

Kỹ thuật đầu tiên chúng ta có thể sử dụng để chuyển đổi một đối tượng thành một chuỗi là hàm print_r. Hàm nhận giá trị cần in và một tham số trả về. Tham số trả về là một giá trị boolean

Ví dụ: để chuyển đổi một đối tượng thành một chuỗi bằng cách sử dụng hàm print_r, chúng ta có thể cung cấp đối tượng làm tham số đầu tiên (giá trị sẽ được in trên màn hình) và một giá trị boolean true làm tham số thứ hai

Cú pháp của hàm như hình

print_r( hỗn hợp $value, bool $return);

Theo mặc định, giá trị boolean được đặt thành false. Nếu không được cung cấp, hàm print_r sẽ in giá trị của biến được cung cấp

Hãy để chúng tôi lấy một ví dụ đơn giản. Chúng ta sẽ tạo một lớp Car đơn giản với hai biến. tên và giá. Chúng tôi sẽ tạo một hàm tạo với tên và giá là tham số và biến

Cuối cùng, chúng tôi tạo một đối tượng từ lớp xe hơi và cung cấp cho chúng dữ liệu mẫu về tên và giá. Để chuyển đổi đối tượng thành chuỗi, chúng ta sẽ sử dụng hàm print_r như trong ví dụ bên dưới

    hạng Xe hơi {
    class Car {
        protected $name;
        protected $price;

        public function __construct($name, $price) {
            $this->name =$name;
            $this->price =$price;
        }
    }
    $mycar = new Car("Ford", 25000);
    $obj_str = print_r($mycar, true);
    echo $obj_str;

?>

Khi bạn chạy ví dụ trên, bạn sẽ thấy và xuất ra đối tượng được chuyển đổi thành chuỗi

Các phương thức ma thuật PHP (_toString())

Kỹ thuật thứ hai chúng ta có thể sử dụng để chuyển đổi một đối tượng thành chuỗi là hàm _toString(). Hàm này được định nghĩa là một phần của hàm ma thuật PHP. Hàm _toString() không chấp nhận đối số và có giá trị trả về là chuỗi

Ví dụ sau đây cho thấy cách sử dụng hàm để trả về một đối tượng dưới dạng chuỗi

    hạng Xe hơi {$this->price"; 
    class Car {
        private $name;
        private $price;

        public function __construct($name, $price) {
            $this->name = $name;
            $this->price = $price;
        }
        public function __toString() {
            return "Car Model $this->name. Price $this->price";
  }
    }
    $mycar = new Car("Ford", "25000");
    echo $mycar;

?>

Ví dụ trên gần giống với ví dụ trước. Tuy nhiên chúng ta sử dụng phương thức __toString để chuyển đối tượng thành chuỗi. Đầu ra của ví dụ trên là như hình

Mẫu ô tô Ford . Giá 25000

Nếu bạn xóa phương thức __toString() và thử chạy lệnh trên, bạn sẽ thấy lỗi như sau

Lỗi nghiêm trọng PHP . Lỗi chưa phát hiện . Đối tượng của lớp Không thể chuyển đổi ô tô thành chuỗi .

Hàm tuần tự hóa PHP ()

Bây giờ chúng ta hãy xem xét một cách khác thường hơn để chuyển đổi một đối tượng thành một chuỗi. Phương thức serialize() chuyển đổi một giá trị đã chỉ định thành luồng byte. Chức năng này phù hợp khi bạn cần lưu trữ một phiên. Sử dụng hàm serialize(), chúng ta có thể truyền đối tượng và trả về một chuỗi byte

Một ví dụ sử dụng có thể được hiển thị trong đoạn mã dưới đây

    hạng Xe hơi {$this->name và Giá. $this->price","
    class Car {
        private $name = "Ford";
        private $price = "25000$";
        public function which_car() {
            echo "Model: $this->name and Price: $this->price", "\n";
        }
    }
    $mycar = new Car;
    $mycar->which_car();
    $serialized = serialize($mycar);
    echo $serialized;

?>

Khi chúng tôi chạy đoạn mã trên, mã sẽ trả về một chuỗi được tuần tự hóa như được hiển thị

Mô hình . Ford và giá . 25000 $
O . 3. "Ô tô". 2. { s . 7. "*tên"; s . 4. "Ford"; s . 8. "*giá"; s . 6. "25000$";}

Đóng cửa

Hướng dẫn này chỉ cho bạn nhiều cách khác nhau để chuyển đổi một đối tượng thành một chuỗi bằng cách sử dụng PHP. Hãy nhớ rằng có nhiều chức năng hơn những gì được thảo luận trong hướng dẫn này. Xem tài liệu để tìm hiểu thêm

Chúng ta có thể chuyển đổi chuỗi thành JSONObject không?

Nếu bạn có một Chuỗi và muốn chuyển đổi nó thành JSONObject, bạn nên sử dụng hoặc. thư viện json .

Tôi có thể xâu chuỗi một đối tượng không?

Xâu chuỗi đối tượng JavaScript . stringify() để chuyển nó thành chuỗi Use the JavaScript function JSON.stringify() to convert it into a string . const myJSON = JSON. xâu chuỗi (obj); .

JSON PHP là gì?

JSON là viết tắt của Ký hiệu đối tượng JavaScript và là một cú pháp để lưu trữ và trao đổi dữ liệu. Vì định dạng JSON là định dạng dựa trên văn bản, nó có thể dễ dàng được gửi đến và từ máy chủ và được sử dụng làm định dạng dữ liệu bởi bất kỳ ngôn ngữ lập trình nào.

Giải mã và mã hóa JSON là gì?

JsonEncoder và JsonDecoder​ . A decoder is a function that takes a CharSequence and returns a Right with the decoded value or a Left with an error message. Bộ mã hóa là một hàm lấy giá trị loại A và trả về CharSequence đại diện cho giá trị được mã hóa (chuỗi JSON).