Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh mengubah rentetan menjadi tatasusunan multidimensi dalam PHP tanpa menggunakan gelung?

Bagaimanakah saya boleh mengubah rentetan menjadi tatasusunan multidimensi dalam PHP tanpa menggunakan gelung?

Patricia Arquette
Patricia Arquetteasal
2024-10-29 19:14:30617semak imbas

How can I transform a string into a multidimensional array in PHP without using loops?

Penghuraian Tatasusunan Berbilang Dimensi dalam PHP tanpa Gelung

Dalam PHP, pemisahan rentetan kepada tatasusunan berbilang dimensi tanpa menggunakan gelung eksplisit boleh dilakukan dengan bijak penggunaan fungsi tatasusunan PHP.

Penyelesaian:

Coretan kod berikut menunjukkan cara mengubah rentetan dalam bentuk "A,5|B,3|C, 8" ke dalam tatasusunan berbilang dimensi tanpa menggunakan gelung:

<code class="php">$str = "A,5|B,3|C,8";

$a = array_map(
    function ($substr) {
        return explode(',', $substr);
    },
    explode('|', $str)
);

var_dump($a);</code>

Penjelasan:

  1. Pertama, rentetan "A,5|B,3|C ,8" dipecahkan kepada tatasusunan subrentetan menggunakan fungsi letupan dengan pembatas '|'.
  2. Fungsi peta tatasusunan kemudiannya digunakan untuk mengulangi setiap subrentetan dan membahagikannya semula kepada tatasusunan dua nilai menggunakan pembatas ','.
  3. Tatasusunan $a yang terhasil mengandungi perwakilan berbilang dimensi bagi rentetan input, dengan dimensi pertama mewakili setiap subrentetan dan dimensi kedua memegang dua nilai.

Contoh Output:

array
  0 =>
    array
      0 => 'A'
      1 => '5'
  1 =>
    array
      0 => 'B'
      1 => '3'
  2 =>
    array
      0 => 'C'
      1 => '8'

Nota:

Walaupun array_map mungkin lebih pantas daripada gelung manual dalam beberapa kes, adalah penting untuk ambil perhatian bahawa ia masih melibatkan gelung secara dalaman. Walau bagaimanapun, abstraksi yang disediakan oleh fungsi mengelakkan keperluan untuk gelung eksplisit dalam kod anda.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengubah rentetan menjadi tatasusunan multidimensi dalam PHP tanpa menggunakan gelung?. 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