Semak sama ada pembolehubah ialah rentetan/int/float?

PHPz
Lepaskan: 2024-02-09 18:00:10
ke hadapan
684 orang telah melayarinya

检查变量是否为 string/int/float?

Editor PHP akan memperkenalkan anda cara menyemak sama ada pembolehubah ialah nombor rentetan, integer atau titik terapung. Dalam PHP, kita boleh menggunakan beberapa fungsi terbina dalam untuk mencapai tujuan ini. Mula-mula, gunakan fungsi is_string() untuk menyemak sama ada pembolehubah adalah daripada jenis rentetan. Jika benar dikembalikan, ini bermakna pembolehubah adalah daripada jenis rentetan. Seterusnya, gunakan fungsi is_int() untuk menyemak sama ada pembolehubah adalah daripada jenis integer. Begitu juga, jika benar dikembalikan, ini bermakna pembolehubah adalah jenis integer. Akhir sekali, gunakan fungsi is_float() untuk menyemak sama ada pembolehubah adalah daripada jenis titik terapung. Begitu juga, jika benar dikembalikan, ini bermakna pembolehubah adalah jenis titik terapung. Dengan menggunakan fungsi ini, kita boleh menyemak jenis pembolehubah dengan mudah dan melaksanakan operasi yang sesuai mengikut keperluan.

Kandungan soalan

Dapatkan jenis map[string]interface{} 因为我想允许同时包含 stringsintegers peta

ini

Tetapi bagaimana untuk menukar peta kepada map[string]string dan mengembalikan ralat jika mana-mana nilai "tidak disokong"?

value, ok := v.(string)
Salin selepas log masuk

Jika nilai ialah integer, ralat akan dilemparkan

Penyelesaian

Go menyokong suis taip:

Untuk kes penggunaan anda ia akan kelihatan seperti:

m := map[string]string{}
for k,v := range values {
    switch value := v.(type) {
        switch value := v.(type) {
        case int:
            m[k] = fmt.Sprintf("%v", value)

        case float64:
            m[k] = fmt.Sprintf("%v", value)

        case string:
            m[k] = fmt.Sprintf("%v", value)

       default:
            return nil,fmt.Errorf("unknown type %T", v)
    }
}

return m,nil
Salin selepas log masuk

Jika anda mahu, anda boleh menggabungkan kes ini menjadi satu kes, contohnyahttps://www.php.cn/link/658953f1f681915f543a40eef9acb562

Atas ialah kandungan terperinci Semak sama ada pembolehubah ialah rentetan/int/float?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!