Bagaimana untuk menukar keseluruhan tatasusunan kepada integer dalam php

PHPz
Lepaskan: 2023-04-23 17:10:33
asal
591 orang telah melayarinya

Dalam PHP, kita selalunya perlu menukar elemen dalam tatasusunan kepada integer untuk pengiraan atau perbandingan. Pada masa ini, kita boleh menggunakan fungsi intval() yang disediakan oleh PHP untuk menukar tatasusunan kepada integer. Tetapi jika keseluruhan tatasusunan perlu ditukar kepada jenis integer, untuk beberapa data yang besar, ia akan memakan masa yang sangat lama untuk menggelung tatasusunan dan melakukan penukaran jenis satu demi satu, kita perlu mencari yang lebih cekap penyelesaian.

Dalam artikel ini, kami akan memperkenalkan dua kaedah untuk menukar keseluruhan tatasusunan kepada integer:

  1. Menggunakan fungsi array_map()
  2. Menggunakan array_walk() fungsi

1. Gunakan fungsi array_map()

array_map() fungsi adalah untuk memproses elemen dalam satu atau lebih tatasusunan melalui fungsi panggil balik yang ditentukan dan mengembalikan tatasusunan baru. Jika anda menggunakan fungsi intval() sebagai fungsi panggil balik, anda boleh menukar setiap elemen dalam tatasusunan kepada integer. Berikut ialah kod sampel:

$array = ['123', '456', '789'];
$newArray = array_map('intval', $array);
Salin selepas log masuk

Dalam kod di atas, $array ialah tatasusunan yang akan diproses dan 'intval' ialah fungsi panggil balik. Fungsi array_map() melepasi setiap elemen dalam tatasusunan $array ke fungsi panggil balik intval() dan mengembalikan tatasusunan baharu $newArray di mana setiap elemen ialah integer.

Jika kami ingin melakukan lebih banyak operasi dalam fungsi panggil balik, kami boleh menggunakan fungsi tanpa nama seperti berikut:

$array = ['123', '456', '789'];
$newArray = array_map(function ($item) {
    return intval($item) * 2;
}, $array);
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan fungsi tanpa nama Sebagai fungsi panggil balik , fungsi ini menukar setiap elemen kepada integer dan mendarabkannya dengan 2. Akhir sekali, tatasusunan baru $newArray dikembalikan, di mana semua elemen adalah integer yang diproses. Fungsi

array_map() adalah mudah, tetapi ia mencipta tatasusunan baharu dan mengembalikannya, jadi ia memerlukan lebih banyak memori. Jika anda mempunyai keperluan ruang memori yang lebih tinggi, anda boleh cuba menggunakan fungsi array_walk().

2. Gunakan fungsi array_walk()

Fungsi array_walk() adalah untuk menggunakan fungsi panggil balik yang ditentukan pengguna untuk setiap elemen dalam tatasusunan. Jika anda menggunakan fungsi intval() sebagai fungsi panggil balik, anda boleh menukar setiap elemen kepada integer. Berikut ialah kod contoh:

$array = ['123', '456', '789'];
array_walk($array, function(&$item) {
    $item = intval($item);
});
Salin selepas log masuk

Dalam kod di atas, $array ialah tatasusunan yang akan diproses, &$item menghantar setiap elemen sebagai rujukan kepada fungsi panggil balik. Fungsi panggil balik menggunakan intval() untuk menukar setiap elemen kepada integer dan memberikannya kepada tatasusunan asal $array.

Kelebihan menggunakan fungsi array_walk() ialah ia secara langsung mengubah suai tatasusunan asal tanpa mengembalikan tatasusunan baharu, jadi ia boleh mengurangkan penggunaan memori. Pada masa yang sama, memandangkan tatasusunan asal diubah suai secara langsung, tidak perlu menetapkan tatasusunan yang diproses kepada tatasusunan baharu dan menyimpannya semula seperti menggunakan fungsi array_map().

Ringkasan

Dalam artikel ini, kami memperkenalkan dua kaedah untuk menukar keseluruhan tatasusunan kepada integer. Fungsi array_map() sesuai untuk memproses tatasusunan dan mengembalikan tatasusunan baharu, manakala fungsi array_walk() sesuai untuk situasi di mana tatasusunan asal perlu diubah suai secara langsung. Memilih kaedah yang berbeza mengikut keperluan sebenar boleh menjadikan kod lebih cekap dan lebih pantas.

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

sumber:php.cn
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!