Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar nilai dalam tatasusunan kepada nombor dalam php

Bagaimana untuk menukar nilai dalam tatasusunan kepada nombor dalam php

PHPz
PHPzasal
2023-04-18 10:18:591189semak imbas

Dalam pembangunan PHP, kita biasanya perlu melakukan penukaran berangka pada nilai dalam tatasusunan. Terutama semasa pemprosesan data dan operasi aritmetik, kita perlu memastikan bahawa nilai dalam tatasusunan adalah semua jenis angka. Artikel ini akan memperkenalkan beberapa cara untuk menukar nilai dalam tatasusunan PHP kepada jenis angka.

1. Gunakan (int) untuk menghantar

Dalam PHP, anda boleh menggunakan (int) untuk menghantar pembolehubah kepada jenis integer. Begitu juga, kita juga boleh menggunakannya untuk memaksa nilai dalam tatasusunan untuk ditukar kepada jenis angka. Berikut ialah kod sampel:

$array = array('1', '2', '3');

foreach ($array as $key => $value) {
    $array[$key] = (int) $value;
}

var_dump($array);

Outputnya ialah:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

Kod di atas akan merentasi tatasusunan$array dan menggunakan cast untuk menukar setiap elemen tatasusunan kepada integer taip .

Perlu diambil perhatian bahawa pelakon hanya boleh menukar rentetan kepada jenis angka. Jika elemen dalam tatasusunan ialah jenis data lain (seperti Boolean, titik terapung, dll.), pelakon akan gagal.

2. Gunakan fungsi intval() untuk menukar

PHP menyediakan fungsi intval() untuk menukar pembolehubah kepada jenis integer. Berbeza daripada penukaran jenis paksa, intval() boleh menukar pembolehubah pelbagai jenis seperti rentetan, nombor titik terapung, nilai Boolean, dll. kepada jenis integer. Berikut ialah contoh kod:

$array = array('1', '2.5', true, false, '5');

foreach ($array as $key => $value) {
    $array[$key] = intval($value);
}

var_dump($array);

Hasil output ialah:

array(5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(1)
  [3]=>
  int(0)
  [4]=>
  int(5)
}

Dalam kod di atas, fungsi intval() digunakan untuk menukar setiap elemen dalam tatasusunan kepada jenis integer. Memandangkan peraturan untuk menukar nilai Boolean ​​kepada integer ialah true ditukar kepada 1 dan false ditukar kepada 0, jadi dalam hasil output, elemen ketiga ditukar kepada 1, dan elemen keempat ditukar kepada 0.

Perlu diambil perhatian bahawa apabila menggunakan fungsi intval(), jika parameter kosong atau tidak boleh ditukar kepada jenis integer, 0 akan dikembalikan.

3 Gunakan fungsi array_map() untuk menukar

Selain gelung for dan foreach, anda juga boleh menggunakan fungsi array_map() untuk menukar elemen dalam tatasusunan kepada a jenis angka. array_map() Fungsi boleh memproses setiap elemen dalam tatasusunan masuk melalui fungsi panggil balik dan mengembalikan tatasusunan baharu yang diproses. Berikut ialah contoh kod:

$array = array('1', '2', '3');

$array = array_map('intval', $array);

var_dump($array);

Outputnya ialah:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

Kod di atas menghantar fungsi intval() sebagai fungsi panggil balik ke fungsi array_map(). array_map() akan berulang melalui setiap elemen dan memanggil fungsi panggil balik padanya, dan akhirnya mengembalikan tatasusunan baru yang diproses. Dalam kes ini, array_map() akan mengembalikan tatasusunan dengan setiap elemen rentetan ditukar kepada jenis integer.

Perlu diambil perhatian bahawa fungsi array_map() tidak mengubah tatasusunan asal, tetapi mengembalikan tatasusunan baharu. Jika anda ingin menukar tatasusunan asal, anda perlu menetapkan tatasusunan baharu kembali kepada tatasusunan asal.

Ringkasan

Artikel ini memperkenalkan tiga kaedah untuk menukar nilai dalam tatasusunan PHP kepada jenis angka. Anda boleh menukar elemen dalam tatasusunan kepada jenis angka dengan mudah, sama ada menggunakan hantaran, fungsi intval() atau fungsi array_map(). Semasa proses pembangunan, pilih sahaja kaedah yang sesuai mengikut keperluan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menukar nilai dalam tatasusunan kepada nombor 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