Bagaimana untuk mempertimbangkan keserasian jenis data apabila menggabungkan tatasusunan PHP?

PHPz
Lepaskan: 2024-04-28 16:54:01
asal
744 orang telah melayarinya

Apabila menggabungkan tatasusunan PHP, keserasian jenis data adalah penting = operator: gabungkan tatasusunan kunci angka dan tambah nilai kunci dengan nama yang sama.

Bagaimana untuk mempertimbangkan keserasian jenis data apabila menggabungkan tatasusunan PHP?

Bagaimana untuk mempertimbangkan keserasian jenis data dalam tatasusunan PHP yang digabungkan

Apabila menggabungkan tatasusunan dalam PHP, adalah penting untuk mempertimbangkan keserasian jenis data kerana ini akan menjejaskan kandungan dan jenis tatasusunan yang digabungkan. PHP menyediakan pelbagai kaedah penggabungan tatasusunan, masing-masing dengan cara sendiri mengendalikan jenis data.

1. kaedah array_merge()

array_merge() hanya menambahkan semua elemen tatasusunan input bersama-sama. Ia menukar unsur-unsur apa-apa jenis kepada rentetan tanpa mengira jenis data. array_merge() 方法简单地将输入数组的所有元素附加在一起。它不考虑数据类型,将任何类型的元素转换为字符串。

$array1 = [1, 'foo', true];
$array2 = ['bar', 2.5, null];

$mergedArray = array_merge($array1, $array2);

print_r($mergedArray);
Salin selepas log masuk

输出:

Array
(
    [0] => 1
    [1] => foo
    [2] => true
    [3] => bar
    [4] => 2.5
    [5] => null
)
Salin selepas log masuk

二、array_combine()

array_combine()

$keys = ['a', 'b', 'c'];
$values = [1, 'foo', true];

$combinedArray = array_combine($keys, $values);

print_r($combinedArray);
Salin selepas log masuk

Output:

Array
(
    [a] => 1
    [b] => foo
    [c] => true
)
Salin selepas log masuk

2. kaedah array_combine()

array_combine() memasangkan elemen yang sepadan bagi dua tatasusunan untuk mencipta tatasusunan bersekutu. Jika elemen tiada daripada tatasusunan kunci, ia akan membiarkan nilai yang berkaitan kosong.

$array1 = ['foo' => 1, 'bar' => 2];
$array2 = ['foo' => 3, 'baz' => 4];

$array1 += $array2;

print_r($array1);
Salin selepas log masuk

Output:

Array
(
    [foo] => 4
    [bar] => 2
)
Salin selepas log masuk

3. += operator

+= operator boleh menggabungkan tatasusunan, tetapi ia hanya terpakai pada tatasusunan kunci angka. Ia menambah elemen dengan kunci yang sama.

$users = [
    1 => 'Alice',
    2 => 'Bob',
    3 => 'Charlie'
];

$orders = [
    'order-1' => 100,
    'order-2' => 200,
    'order-3' => 300
];

// 将用户 ID 转换为字符串以匹配订单键
$userIDs = array_keys($users);
$strUserIDs = array_map('strval', $userIDs);

// 使用 array_combine() 将用户 ID 与总计相匹配
$userTotals = array_combine($strUserIDs, array_fill(0, count($userIDs), 0));

// 循环用户数组并更新总计
foreach ($orders as $orderID => $total) {
    $userID = $orderID[0];
    $userTotals[$userID] += $total;
}

print_r($userTotals);
Salin selepas log masuk

Output:
    Array
    (
        [1] => 100
        [2] => 200
        [3] => 300
    )
    Salin selepas log masuk
  • Kes praktikal
  • Pertimbangkan senario berikut:

    Terdapat pelbagai pengguna, yang mengandungi ID integer dan nama pengguna.

    Terdapat tatasusunan pesanan yang mengandungi ID pesanan rentetan dan jumlah pesanan.

    🎜🎜Dua tatasusunan ini perlu digabungkan untuk memberikan setiap pengguna jumlah pesanan mereka. 🎜rrreee🎜Output: 🎜rrreee🎜Dengan mempertimbangkan keserasian jenis data, kami berjaya menggabungkan dua tatasusunan dan mengekstrak data yang diperlukan. 🎜

    Atas ialah kandungan terperinci Bagaimana untuk mempertimbangkan keserasian jenis data apabila menggabungkan tatasusunan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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!