PHP处理父子层级选择问题
/** * @param $data 操作的数组 * @param string $fieldPri 唯一键名,如果是表则是表的主键 * @param string $fieldPid 父ID键名 * @param int $pid 一级PID的值 * @param string $sid 子ID用于获得指定指ID的所有父ID * @param int $type 操作方式1=>返回多维数组,2=>返回一维数组,3=>得到指定子ID(参数$sid)的所有父 * @param string $html 名称前缀,用于在视图中显示层次感的列表 * @param int $level 不需要传参数(执行时调用) * @return array */ private function channel($data, $fieldPri = 'cid', $fieldPid = 'pid', $pid = 0, $sid = null, $type = 2, $html = " ", $level = 1) { if (!$data) { return array(); } switch ($type) { case 1: $arr = array(); foreach ($data as $v) { if ($v[$fieldPid] == $pid) { $arr[$v[$fieldPri]] = $v; $arr[$v[$fieldPri]]['html'] = str_repeat($html, $level - 1); $arr[$v[$fieldPri]]["Data"] = self::channel($data, $fieldPri, $fieldPid, $v[$fieldPri], $sid, $type, $html, $level + 1); } } return $arr; case 2: $arr = array(); $id = 0; foreach ($data as $v) { if ($v[$fieldPid] == $pid) { $arr[$id] = $v; $arr[$id]['level'] = $level; $arr[$id]['html'] = str_repeat($html, $level - 1); $sArr = self::channel($data, $fieldPri, $fieldPid, $v[$fieldPri], $sid, $type, $html, $level + 1); $arr = array_merge($arr, $sArr); $id = count($arr); } } return $arr; case 3: static $arr = array(); foreach ($data as $v) { if ($v[$fieldPri] == $sid) { $arr[] = $v; $sArr = self::channel($data, $fieldPri, $fieldPid, $pid, $v[$fieldPid], $type, $html, $level + 1); $arr = array_merge($arr, $sArr); } } return $arr; } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了PHP处理父子层级选择问题,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Folder data mengandungi data sistem dan program, seperti tetapan perisian dan pakej pemasangan Setiap folder dalam folder Data mewakili jenis folder storan data yang berbeza, tidak kira sama ada fail Data merujuk kepada nama fail Data atau sambungan data , semuanya adalah fail data yang disesuaikan oleh sistem atau program Data ialah fail sandaran untuk penyimpanan data Secara umumnya, ia boleh dibuka dengan meidaplayer, notepad atau word.

Penyelesaian kepada data beban mysql yang bercelaru: 1. Cari pernyataan SQL dengan aksara yang bercelaru;

Perbezaannya ialah: 1. xdata biasanya merujuk kepada pembolehubah bebas, manakala data merujuk kepada keseluruhan set data 2. xdata digunakan terutamanya untuk membina model analisis data, manakala data digunakan untuk analisis data dan statistik; untuk Analisis regresi, analisis varians, pemodelan ramalan, data boleh dianalisis menggunakan pelbagai kaedah statistik 4. xdata biasanya memerlukan prapemprosesan data, dan data boleh mengandungi data asal yang lengkap;

Sejurus selepas pelancaran Humane Ai Pin, ulasan pedas mendedahkan bahawa alat AI adalah apa-apa tetapi sedia untuk pasaran, kerana kebanyakan ciri asal yang diiklankan sama ada tidak berfungsi dengan betul atau hilang begitu saja, hayat bateri adalah

请问如何修改url某一参数的参数值呢?是要拆开了再拼回去吗?那么请问如何修改url某一参数的参数值呢?是要拆开了再拼回去吗?http://127.0.0.1/myo/newuser.php?mod=search&type=fastone比如现在我要修改mod=new要怎么做呢?------解决方案--------------------发送了请求

Semua orang dan ibu saudara mereka nampaknya menaiki kereta api AI untuk mencari margin keuntungan yang melambung dan gembar-gembur pemasaran — lihat sahaja penjenamaan semula Ryzen terbaru AMD sebagai contoh utama gembar-gembur AI ini. Kajian terbaru yang dijalankan oleh RAND telah mendapati bahawa ini

Tidak, data dalam komponen vue mestilah fungsi. Komponen dalam Vue digunakan untuk digunakan semula Untuk mengelakkan penggunaan semula data, ia ditakrifkan sebagai fungsi. Data data dalam komponen vue harus diasingkan antara satu sama lain dan tidak menjejaskan satu sama lain Setiap kali komponen digunakan semula, data data hendaklah disalin sekali Kemudian, apabila data data dalam komponen ditukar di tempat yang digunakan semula. data lain akan disalin Jika data data komponen tempatan yang digunakan semula tidak terjejas, anda perlu mengembalikan objek sebagai status komponen melalui fungsi data.

Pangkalan data perniagaan teras, versinya ialah MySQL8.34 Edisi Pelayan Komuniti. Sejak pelancarannya, log ralat pelayan pangkalan data ini telah meningkat dengan sangat pesat (seperti yang ditunjukkan dalam rajah di bawah), meningkat kepada kapasiti lebih daripada 10 G setiap 24 jam. Oleh kerana terdapat penggera kerosakan dan akses biasa kepada perniagaan tidak terjejas, kakitangan yang berkaitan tidak dibenarkan untuk memulakan semula perkhidmatan MySQL. Memandangkan keadaan ini, saya terpaksa menyediakan tugas berjadual automatik untuk membersihkan log ini pada masa yang ditetapkan setiap malam. Untuk operasi tertentu, laksanakan "crontab-e" pada baris arahan sistem dan tambah baris teks berikut: 0001***echo>/data/mysql8/data/mysql_db/mysql.log Simpan dan keluar dari mod edit
