Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menghimpunkan Baris Tatasusunan 2D mengikut Lajur dan Menjumlahkan Lajur Lain dalam PHP?

Bagaimana untuk Menghimpunkan Baris Tatasusunan 2D mengikut Lajur dan Menjumlahkan Lajur Lain dalam PHP?

Barbara Streisand
Barbara Streisandasal
2024-10-26 01:37:02281semak imbas

How to Group 2D Array Rows by Column and Sum Another Column in PHP?

Mengumpulkan Baris Tatasusunan 2D mengikut Lajur dan Menjumlahkan Lajur Lain

Diberi tatasusunan PHP berbilang dimensi dengan baris yang mengandungi lajur bernama 'url_id' dan 'time_spent ', seseorang mungkin berusaha untuk mengumpulkan baris ini dengan 'url_id' dan mengira jumlah 'masa_yang dibelanjakan' untuk setiap kumpulan.

Untuk mencapai ini:

  1. Lelaran melalui tatasusunan:

    <code class="php">foreach($array as $data) {</code>
  2. Semak sama ada kunci tatasusunan wujud untuk 'url_id' semasa:

    <code class="php"> if(!array_key_exists($data['url_id'], $ts_by_url)) {</code>
  3. Buat entri dalam Tatasusunan $ts_by_url untuk 'url_id' dan mulakannya kepada 0 jika ia belum wujud:

    <code class="php">     $ts_by_url[ $data['url_id'] ] = 0;</code>
  4. Tambahkan nilai 'time_spent' pada tatasusunan $ts_by_url yang sepadan dengan 'url_id':

    <code class="php"> $ts_by_url[ $data['url_id'] ] += $data['time_spent'];
    }</code>
  5. Kini, tatasusunan $ts_by_url akan mengandungi hasil terkumpul dengan kekunci 'url_id' dan jumlah 'time_spent' sebagai nilai.

Contoh Output:

<code class="php">2191238 => 41
2191606 => 240 // == 215 + 25</code>

Atas ialah kandungan terperinci Bagaimana untuk Menghimpunkan Baris Tatasusunan 2D mengikut Lajur dan Menjumlahkan Lajur Lain dalam 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