Rumah >pembangunan bahagian belakang >tutorial php >Gunakan fungsi tersuai PHP untuk memanjangkan kefungsian persilangan tatasusunan dan kesatuan

Gunakan fungsi tersuai PHP untuk memanjangkan kefungsian persilangan tatasusunan dan kesatuan

WBOY
WBOYasal
2024-05-01 10:45:02366semak imbas

Lanjutkan keupayaan persimpangan tatasusunan dan penyatuan dengan fungsi tersuai PHP, fungsi persimpangan tersuai membenarkan mencari persimpangan mengikut kunci atau nilai, dan fungsi kesatuan tersuai mencari kesatuan mengikut kunci atau nilai. Ini memberi anda fleksibiliti untuk memanipulasi tatasusunan berdasarkan keperluan khusus anda.

Gunakan fungsi tersuai PHP untuk memanjangkan kefungsian persilangan tatasusunan dan kesatuan

Gunakan fungsi tersuai PHP untuk memanjangkan persilangan tatasusunan dan kesatuan

Dalam PHP, persilangan dan kesatuan ialah dua fungsi manipulasi data yang kerap digunakan. Walau bagaimanapun, kadangkala kita perlu memperluaskan fungsinya untuk memenuhi keperluan tertentu. Tutorial ini membimbing anda membuat fungsi tersuai menggunakan PHP untuk meningkatkan pemprosesan persilangan dan kesatuan.

Fungsi Persimpangan Tersuai

Fungsi persimpangan tersuai membolehkan anda menentukan kunci atau nilai persimpangan yang ingin anda cari. Begini cara untuk menciptanya:

function custom_array_intersect(array $array1, array $array2, $key_or_value = 'key')
{
    $result = [];
    foreach ($array1 as $key => $value) {
        if ($key_or_value == 'key') {
            if (array_key_exists($key, $array2)) {
                $result[$key] = $array1[$key];
            }
        } else {
            if (in_array($value, $array2)) {
                $result[$key] = $array1[$key];
            }
        }
    }
    return $result;
}

Fungsi Kesatuan Tersuai

Begitu juga, anda boleh mencipta fungsi kesatuan tersuai yang membolehkan anda menentukan kunci atau nilai yang anda ingin cari kesatuan pada:

function custom_array_union(array $array1, array $array2, $key_or_value = 'key')
{
    $result = [];
    foreach ($array1 as $key => $value) {
        $result[$key] = $array1[$key];
    }
    foreach ($array2 as $key => $value) {
        if ($key_or_value == 'key') {
            if (!array_key_exists($key, $result)) {
                $result[$key] = $array2[$key];
            }
        } else {
            if (!in_array($value, $result)) {
                $key_to_use = array_search($value, $array1);
                if ($key_to_use !== false) {
                    $result[$key_to_use] = $array2[$key];
                } else {
                    $new_key = max(array_keys($result)) + 1;
                    $result[$new_key] = $array2[$key];
                }
            }
        }
    }
    return $result;
}

Contoh Praktikal

Berikut ialah beberapa kes praktikal bagi dua fungsi tersuai:

Contoh persimpangan:

$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['b' => 4, 'c' => 5, 'd' => 6];

$result = custom_array_intersect($array1, $array2, 'key');
print_r($result); // 输出: ['b' => 4, 'c' => 5]

Contoh kesatuan:

$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['b' => 4, 'd' => 5, 'e' => 6];

$result = custom_array_union($array1, $array2, 'key');
print_r($result); // 输出: ['a' => 1, 'b' => 4, 'c' => 3, 'd' => 5, 'e' => 6]

Atas ialah kandungan terperinci Gunakan fungsi tersuai PHP untuk memanjangkan kefungsian persilangan tatasusunan dan kesatuan. 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