Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengekstrak pelbagai jenis data daripada tatasusunan php

Bagaimana untuk mengekstrak pelbagai jenis data daripada tatasusunan php

zbt
zbtasal
2023-08-07 15:02:511168semak imbas

Kaedah untuk mengekstrak pelbagai jenis data daripada tatasusunan PHP: 1. Gunakan gelung for untuk melintasi tatasusunan, dan anda boleh menentukan jenis data dengan menyemak jenis setiap elemen tatasusunan 2. Gunakan fungsi array_filter() untuk menapis tatasusunan, dan anda boleh menggunakan fungsi panggil balik untuk Menentukan jenis elemen dan mengembalikannya seperti yang diperlukan 3. Gunakan gelung foreach untuk melintasi tatasusunan dan mengekstrak jenis data yang berbeza mengikut keperluan;

Bagaimana untuk mengekstrak pelbagai jenis data daripada tatasusunan php

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi php8.1.3, komputer DELL G3.

Dalam PHP, tatasusunan ialah struktur data yang sangat penting dan biasa digunakan. Ia membolehkan kami mengumpulkan berbilang item data berkaitan bersama-sama dan mengakses serta memanipulasi data ini melalui indeks atau kunci. Kadangkala, tatasusunan mungkin mengandungi jenis data yang berbeza pada masa yang sama, seperti integer, jenis titik terapung, rentetan, dsb. Jadi, bagaimana untuk mengekstrak pelbagai jenis data Artikel ini akan memperkenalkan beberapa kaedah dan teknik biasa secara terperinci.

1 Gunakan gelung for untuk merentasi tatasusunan

Merentasi tatasusunan melalui gelung for ialah salah satu kaedah yang paling biasa digunakan untuk mengekstrak pelbagai jenis data dalam tatasusunan. Kita boleh menentukan jenis data setiap elemen tatasusunan dengan menyemak jenisnya. Contoh berikut menunjukkan cara menggunakan gelung for untuk mengekstrak jenis data yang berbeza daripada tatasusunan:

$array = [1, 2.5, "hello", true];
$integers = [];
$floats = [];
$strings = [];
$booleans = [];
for ($i = 0; $i < count($array); $i++) {
$type = gettype($array[$i]);
switch ($type) {
case "integer":
$integers[] = $array[$i];
break;
case "double":
$floats[] = $array[$i];
break;
case "string":
$strings[] = $array[$i];
break;
case "boolean":
$booleans[] = $array[$i];
break;
default:
// 其他类型的数据
break;
}
}
// 输出不同类型的数据
echo "Integers: ";
print_r($integers);
echo "Floats: ";
print_r($floats);
echo "Strings: ";
print_r($strings);
echo "Booleans: ";
print_r($booleans);

Dalam contoh di atas, kami mula-mula menentukan tatasusunan yang mengandungi integer, terapung, rentetan dan boolean. Kami kemudian menggunakan gelung for untuk melelaran melalui setiap elemen dalam tatasusunan dan mendapatkan jenis data elemen menggunakan fungsi gettype(). Seterusnya, elemen ditambah pada tatasusunan yang sepadan mengikut jenis yang berbeza dengan menggunakan pernyataan suis. Akhirnya, kami mencetak setiap jenis data.

2. Gunakan fungsi array_filter() untuk menapis tatasusunan

Cara lain untuk mengekstrak pelbagai jenis data ialah menggunakan fungsi array_filter(). Fungsi array_filter() digunakan untuk menapis elemen dalam tatasusunan berdasarkan nilai pulangan fungsi panggil balik. Kita boleh menggunakan fungsi panggil balik untuk menentukan jenis elemen dan mengembalikannya seperti yang diperlukan. Contoh berikut menunjukkan cara menggunakan fungsi array_filter() untuk mengekstrak pelbagai jenis data:

$array = [1, 2.5, "hello", true];
$integers = array_filter($array, function($value) {
return is_int($value);
});
$floats = array_filter($array, function($value) {
return is_float($value);
});
$strings = array_filter($array, function($value) {
return is_string($value);
});
$booleans = array_filter($array, function($value) {
return is_bool($value);
});
// 输出不同类型的数据
echo "Integers: ";
print_r($integers);
echo "Floats: ";
print_r($floats);
echo "Strings: ";
print_r($strings);
echo "Booleans: ";
print_r($booleans);

Dalam contoh di atas, kami menggunakan fungsi array_filter() untuk menapis tatasusunan. Fungsi panggil balik digunakan untuk menyemak jenis elemen, dan jika elemen memenuhi syarat jenis yang ditentukan, ia dikekalkan dalam tatasusunan yang dikembalikan. Akhirnya, kami mencetak setiap jenis data.

Perlu diambil perhatian bahawa fungsi array_filter() mengembalikan tatasusunan baharu, mengekalkan elemen yang memenuhi syarat dan tidak mengubah tatasusunan asal. . Contoh berikut menunjukkan cara menggunakan gelung foreach untuk mengekstrak jenis data yang berbeza:

$array = [1, 2.5, "hello", true];
$integers = [];
$floats = [];
$strings = [];
$booleans = [];
foreach ($array as $value) {
$type = gettype($value);
switch ($type) {
case "integer":
$integers[] = $value;
break;
case "double":
$floats[] = $value;
break;
case "string":
$strings[] = $value;
break;
case "boolean":
$booleans[] = $value;
break;
default:
// 其他类型的数据
break;
}
}
// 输出不同类型的数据
echo "Integers: ";
print_r($integers);
echo "Floats: ";
print_r($floats);
echo "Strings: ";
print_r($strings);
echo "Booleans: ";
print_r($booleans);

Dalam contoh di atas, kami menggunakan gelung foreach untuk lelaran melalui setiap elemen dalam tatasusunan dan menggunakan pernyataan suis untuk menentukan jenis elemen . Kemudian, tambahkan elemen setiap jenis pada tatasusunan yang sepadan. Akhirnya, kami mencetak setiap jenis data. Ringkasan:

Artikel ini memperkenalkan beberapa kaedah dan teknik biasa untuk mengekstrak pelbagai jenis data dalam tatasusunan PHP. Menggunakan fungsi gelung for, array_filter() dan gelung foreach, kita boleh mengekstrak pelbagai jenis data seperti integer, nombor titik terapung, rentetan dan nilai Boolean seperti yang diperlukan. Berdasarkan keperluan sebenar, kita boleh memilih untuk menggunakan kaedah yang sesuai untuk mengekstrak pelbagai jenis data dalam tatasusunan untuk memproses dan mengendalikan data dalam tatasusunan dengan lebih baik. .

Atas ialah kandungan terperinci Bagaimana untuk mengekstrak pelbagai jenis data daripada tatasusunan 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