Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar tatasusunan rentetan kepada jenis angka dalam php

Bagaimana untuk menukar tatasusunan rentetan kepada jenis angka dalam php

PHPz
PHPzasal
2023-04-18 10:25:241210semak imbas

Dalam PHP, rentetan ialah jenis data biasa dan nombor ialah jenis data asas. Dalam pembangunan, kadangkala kita perlu menukar tatasusunan rentetan kepada jenis berangka untuk melaksanakan pengiraan matematik atau operasi berangka lain.

PHP menyediakan beberapa kaedah untuk menukar tatasusunan rentetan kepada jenis angka. Kaedah ini akan diperkenalkan di bawah, dan senario dan kaedah penggunaan yang berkenaan akan diterangkan.

  1. Gunakan fungsi penukaran jenis

Terdapat beberapa fungsi penukaran jenis dalam PHP yang boleh menukar rentetan kepada nombor, ia adalah:

  • intval (): Menukar rentetan kepada nilai integer.
  • floatval(): Menukar rentetan kepada nilai titik terapung.
  • doubleval(): Menukar rentetan kepada nilai titik terapung berketepatan dua kali.

Fungsi ini boleh menukar rentetan kepada jenis angka yang sepadan. Contohnya:

$str = "123";
$int = intval($str);
$float = floatval($str);
$double = doubleval($str);

echo $int;    // 输出:123
echo $float;  // 输出:123.0
echo $double; // 输出:123.0

Perlu diambil perhatian bahawa jika rentetan mengandungi aksara bukan angka, fungsi penukaran jenis akan mengembalikan 0.

  1. Menggunakan hantaran

Dalam PHP, kita boleh menggunakan hantaran untuk menukar pembolehubah daripada satu jenis kepada jenis yang lain. Sintaks penukaran jenis paksa adalah seperti berikut:

$new_var = (new_type) $old_var;

Antaranya, new_type mewakili jenis data yang ditukar, dan old_var mewakili pembolehubah yang perlu ditukar. Contohnya:

$str = "123";
$int = (int) $str;
$float = (float) $str;
$double = (double) $str;

echo $int;    // 输出:123
echo $float;  // 输出:123.0
echo $double; // 输出:123.0

Kesan penukaran jenis paksa pada asasnya sama dengan fungsi penukaran jenis, tetapi penukaran jenis paksa lebih mudah dan lebih langsung.

Perlu diambil perhatian bahawa jika rentetan mengandungi aksara bukan angka, pelakon akan mengembalikan 0.

  1. Menggunakan fungsi pemetaan tatasusunan

Terdapat beberapa fungsi pemetaan tatasusunan dalam PHP yang boleh menukar setiap elemen dalam tatasusunan kepada jenis lain, termasuk:

  • array_map(): Gunakan fungsi pada setiap elemen tatasusunan dan kembalikan tatasusunan baharu.
  • array_walk(): Gunakan fungsi pada setiap elemen tatasusunan, tiada nilai pulangan.

Fungsi ini menukar setiap elemen dalam tatasusunan rentetan kepada jenis angka yang sepadan. Contohnya:

$arr = array("123", "456", "789");
$int_arr = array_map("intval", $arr);
$float_arr = array_map("floatval", $arr);
$double_arr = array_map("doubleval", $arr);

print_r($int_arr);    // 输出:Array([0] => 123 [1] => 456 [2] => 789)
print_r($float_arr);  // 输出:Array([0] => 123.0 [1] => 456.0 [2] => 789.0)
print_r($double_arr); // 输出:Array([0] => 123.0 [1] => 456.0 [2] => 789.0)

Ambil perhatian bahawa fungsi ini akan mengembalikan 0 jika rentetan mengandungi aksara bukan angka.

  1. Menggunakan gelung foreach

Selain menggunakan fungsi untuk penukaran jenis, kita juga boleh menggunakan gelung foreach untuk melintasi tatasusunan dan menukar setiap elemen kepada jenis angka . Contohnya:

$arr = array("123", "456", "789");

foreach($arr as &$val) {
    $val = (int) $val;
}

print_r($arr);    // 输出:Array([0] => 123 [1] => 456 [2] => 789)

Kaedah ini lebih fleksibel dan boleh diaplikasikan mengikut situasi sebenar.

Ringkasan

Dalam PHP, terdapat banyak kaedah untuk menukar tatasusunan rentetan kepada jenis angka, yang sesuai untuk senario aplikasi yang berbeza. Menggunakan fungsi penukaran jenis dan hantaran boleh dengan cepat dan mudah menukar rentetan kepada jenis angka yang sepadan, manakala menggunakan fungsi pemetaan tatasusunan dan gelung foreach sesuai untuk situasi di mana anda perlu melintasi keseluruhan tatasusunan dan melakukan operasi yang sama pada setiap elemen. Pembangun harus memilih kaedah yang sesuai untuk penukaran jenis berdasarkan keadaan tertentu untuk meningkatkan kecekapan dan kebolehbacaan kod.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan rentetan kepada jenis angka dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn