PHP tip o‘zgartirish (casting)


ULASHISH

PHP Tipe Casting

PHP tipidagi casting - bu qiymatni bir ma’lumot turidan ikkinchisiga, masalan, floatdan butun songa aylantirishning aniq jarayoni.

Bu ishlab chiquvchiga o‘zgaruvchining ma’lumotlar turini bevosita boshqarish imkonini beradi.

Siz o‘zgartirmoqchi bo‘lgan o‘zgaruvchi yoki qiymatdan oldin qavslar ichida cast turini joylashtirish orqali o‘zgaruvchini chiqarasiz.

PHP casting operatorlari quyidagilardir:

  • (string) - String ma’lumotlar turiga o‘zgartiradi
  • (int) - Integer ma’lumotlar turiga o‘zgartiradi
  • (float) - Float ma’lumotlar turiga o‘zgartiradi
  • (bool) - Boolean ma’lumotlar turiga o‘zgartiradi
  • (array) - Massiv ma’lumotlar turiga o‘zgartiradi
  • (object) - Obyekt ma’lumotlar turiga o‘zgartiradi
  • (unset) - Eskirgan. NULL ma’lumotlar turiga o‘zgartiradi

Stringga uzatish

String ma’lumot turiga o‘tkazish uchun: O‘zgaruvchi yoki qiymatdan oldin (string) dan foydalaning:

Misol

$a = 5;       // Integer
$b = 5.34;    // Float
$c = "hello"; // String
$d = true;    // Boolean
$e = NULL;    // NULL

$a = (string) $a;
$b = (string) $b;
$c = (string) $c;
$d = (string) $d;
$e = (string) $e;

// Use var_dump() to verify the data type
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
O‘zingiz sinab ko‘ring »


Butun songa uzatish

Integer ma’lumotlar turiga o‘tkazish uchun: O‘zgaruvchi yoki qiymatdan oldin (int) dan foydalaning:

Misol

$a = 5;       // Integer
$b = 5.34;    // Float
$c = "25 km"; // String
$d = "km 25"; // String
$e = "hello"; // String
$f = true;    // Boolean
$g = NULL;    // NULL

$a = (int) $a;
$b = (int) $b;
$c = (int) $c;
$d = (int) $d;
$e = (int) $e;
$f = (int) $f;
$g = (int) $g;
O‘zingiz sinab ko‘ring »

Float uchun translatsiya

float ma’lumotlar turiga o‘tkazish uchun: o‘zgartirish uchun o‘zgaruvchi yoki qiymatdan oldin (float) dan foydalaning:

Misol

$a = 5;       // Integer
$b = 5.34;    // Float
$c = "25 km"; // String
$d = "km 25"; // String
$e = "hello"; // String
$f = true;    // Boolean
$g = NULL;    // NULL

$a = (float) $a;
$b = (float) $b;
$c = (float) $c;
$d = (float) $d;
$e = (float) $e;
$f = (float) $f;
$g = (float) $g;
O‘zingiz sinab ko‘ring »

Boolean tiliga uzatish

Boolean ma’lumotlar turiga o‘tkazish uchun: O‘zgartirish uchun o‘zgaruvchi yoki qiymatdan oldin (bool) dan foydalaning:

Misol

$a = 5;       // Integer
$b = 5.34;    // Float
$c = 0;       // Integer
$d = -1;      // Integer
$e = 0.1;     // Float
$f = "hello"; // String
$g = "";      // String
$h = true;    // Boolean
$i = NULL;    // NULL

$a = (bool) $a;
$b = (bool) $b;
$c = (bool) $c;
$d = (bool) $d;
$e = (bool) $e;
$f = (bool) $f;
$g = (bool) $g;
$h = (bool) $h;
$i = (bool) $i;
O‘zingiz sinab ko‘ring »

Agar qiymat 0, NULL, noto‘g‘ri yoki bo‘sh bo‘lsa, (bool) uni noto‘g‘ri, aks holda rostga aylantiradi. Hatto -1 ham rostga aylanadi.


Massivga uzatish

Ma’lumot turi massiviga uzatish uchun: (array) dan foydalaning konvertatsiya qilinadigan o‘zgaruvchi yoki qiymatdan oldin:

Misol

$a = 5;       // Integer
$b = 5.34;    // Float
$c = "hello"; // String
$d = true;    // Boolean
$e = NULL;    // NULL

$a = (array) $a;
$b = (array) $b;
$c = (array) $c;
$d = (array) $d;
$e = (array) $e;
O‘zingiz sinab ko‘ring »

Massivga translyatsiya qilishda ko‘pgina ma’lumotlar turlari bir element bilan indekslangan massivga aylanadi.

NULL qiymatlari bo‘sh massiv obyektiga aylanadi.

obyekt assotsiativ massivga aylanadi, bu yerda xususiyat nomlari kalitlarga aylanadi va xususiyat qiymatlari qiymatlarga aylanadi:

Misol

Obyektni massivga aylantirish:

class Car {
  public $color;
  public $model;
  public function __construct($color, $model) {
    $this->color = $color;
    $this->model = $model;
  }
  public function message() {
    return "My car is a " . $this->color . " " . $this->model . "!";
  }
}

$myCar = new Car("red", "Volvo");
$myCar = (array) $myCar;
var_dump($myCar);
O‘zingiz sinab ko‘ring »

Obyektga uzatish

Ma’lumot turi obyektiga uzatish uchun: (object) dan foydalaning konvertatsiya qilinadigan o‘zgaruvchi yoki qiymatdan oldin:

Misol

$a = 5;       // Integer
$b = 5.34;    // Float
$c = "hello"; // String
$d = true;    // Boolean
$e = NULL;    // NULL

$a = (object) $a;
$b = (object) $b;
$c = (object) $c;
$d = (object) $d;
$e = (object) $e;
O‘zingiz sinab ko‘ring »

Obyektga uzatishda ko‘pchilik ma’lumotlar turlari mos keladigan qiymatga ega bo‘lgan "skalar" deb nomlangan bitta xususiyatga ega obyektga aylanadi.

NULL qiymatlari bo‘sh obyektga aylanadi.

Indekslangan massivlar indeks raqami xususiyat nomi sifatida va qiymat xususiyat qiymati sifatida obyektlarga aylanadi.

Assotsiativ massivlar kalitlari xususiyat nomlari va qiymatlar xususiyat qiymatlari sifatida obyektlarga aylanadi.

Misol

Massivlarni obyektlarga aylantirish:

$a = array("Volvo", "BMW", "Toyota"); // indexed array
$b = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); // associative array

$a = (object) $a;
$b = (object) $b;
O‘zingiz sinab ko‘ring »

NULL ga translatsiya qilish

Eslatma: (unset) operatori PHP 7.2.0 da eskirgan va PHP 8.0.0 da olib tashlangan.

NULL ga o‘tkazish uchun o‘zgaruvchini NULL ga o‘rnating:

Misol

$a = 5;       // Integer
$b = 5.34;    // Float
$c = "hello"; // String
$d = true;    // Boolean
$e = NULL;    // NULL

$a = NULL;
$b = NULL;
$c = NULL;
$d = NULL;
$e = NULL;
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!