国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Home Backend Development PHP Tutorial Recursively add references to implement tree and infinite menu_PHP tutorial

Recursively add references to implement tree and infinite menu_PHP tutorial

Jul 15, 2016 pm 01:21 PM
class data menu model php private tree add and accomplish Quote unlimited menu recursion

class k_model_menu_menu

{
? ? private $data = array();
? ? private $rdata = array();
? ? private $jdata = array();
? ? private $level = 0;
? ? private $paret = array();
? ? function getOption($type= 'part',$pid = 0)
? ? {
? ? ? ? if($type = 'all') $this->data= R::getAll( 'select * from menu' );

? ? ? ??
? ? ? ? $this->teamData();
? ? ? ??
? ? ? ? if($this->rdata) return $this->rdata;
? ? ? ? return false; ? ??
? ? }
? ??
? ? function addMenu($data){
? ? ? ? foreach($data as $key =>$value){
? ? ? ? ? ? if($value == '請?zhí)顚憙?nèi)容!') $data[$key]='';
? ? ? ? }
? ? ? ? if($data){
? ? ? ? ? ? $menu = R::dispense('menu');
? ? ? ? ? ? $menu->pid = $data['pid'];
? ? ? ? ? ? $menu->name = $data['name'];
? ? ? ? ? ? $menu->url = $data['url'];
? ? ? ? ? ? $menu->icon = $data['icon'];
? ? ? ? ? ? $id = R::store($menu);
? ? ? ? ? ? return $id;
? ? ? ? }
? ? }
? ? //返回json 字符串
? ? public function getJsonMenu(){
? ? ? ? $data = $this->getChild(1);
? ? ? ? $this->jdata = $data;
? ? ? ? $this->recursive($this->jdata);
? ? ? ? return ?json_encode($this->jdata);
? ? }
? ? ? ??
? ? //遞歸函數(shù) ?實現(xiàn)不斷的生成子節(jié)點,用了引用,感覺這引用是如來神筆,要不然實現(xiàn)太復(fù)雜了
? ? public function recursive(&$data = array()){
? ? ? ? foreach($data as $key =>$value){
? ? ? ? ? ? $data[$key]['children']= $this->getChild($value['id']);
? ? ? ? ? ? $tmp = &$data[$key]['children'];
? ? ? ? ? ? if($tmp){
? ? ? ? ? ? ? ? $this->recursive($tmp);
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ??
? ? //組織數(shù)據(jù),用于生成樹形的select 返回的是一個數(shù)組
? ? //數(shù)組的形式是
? ? ? ? public function teamData($pid=1){
? ? ? ? ? ? foreach ($this->data as $key => $value) { ? ?
? ? ? ? ? ? ? ? if($value['pid']==$pid){
? ? ? ? ? ? ? ? ? ? ? ? $this->level++;
? ? ? ? ? ? ? ? ? ? ? ? array_push($this->rdata, array('name'=>$value['name'],'level'=>$this->level,'id'=>$value['id']));
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? $tmpdata = $this->teamData($value['id']);
? ? ? ? ? ? ? ? ? ? if(!$tmpdata){
? ? ? ? ? ? ? ? ? ? ? ? $this->level--;
? ? ? ? ? ? ? ? ? ? ? ? continue;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? } ? ?
? ? ? ? }
? ? ? ??
? ??
? ? //根據(jù)pid拿取下面的子數(shù)據(jù)
? ? public function getChild($pid){
? ? ? ? ?$data= ?R::getAll( "select * from menu where pid = {$pid}" );
? ? ? ? ?$tmpdata = array();
? ? ? ? ?if($data){
? ? ? ? ? ? ?foreach ($data as $key => $value) {
? ? ? ? ? ? ? ? ?$tmpdata[$key]['id'] = ?$value['id'];
? ? ? ? ? ? ? ? ?$tmpdata[$key]['icon'] = ?$value['icon'];
? ? ? ? ? ? ? ? ?$tmpdata[$key]['text'] = ?$value['name'];
? ? ? ? ? ? ? ? ?$tmpdata[$key]['url'] = ?$value['url'];
? ? ? ? ? ? ? ? ?$tmpdata[$key]['children'] = ?array();
? ? ? ? ? ? ?}
? ? ? ? ?}
? ? ? ? ?return $tmpdata;
? ? }
? ??
? ??
}

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477141.htmlTechArticle?php class k_model_menu_menu { private $data = array(); private $rdata = array(); private $jdata = array(); private $level = 0; private $paret = array(); function getOption($type= p...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to get the current session ID in PHP? How to get the current session ID in PHP? Jul 13, 2025 am 03:02 AM

The method to get the current session ID in PHP is to use the session_id() function, but you must call session_start() to successfully obtain it. 1. Call session_start() to start the session; 2. Use session_id() to read the session ID and output a string similar to abc123def456ghi789; 3. If the return is empty, check whether session_start() is missing, whether the user accesses for the first time, or whether the session is destroyed; 4. The session ID can be used for logging, security verification and cross-request communication, but security needs to be paid attention to. Make sure that the session is correctly enabled and the ID can be obtained successfully.

Using std::chrono in C Using std::chrono in C Jul 15, 2025 am 01:30 AM

std::chrono is used in C to process time, including obtaining the current time, measuring execution time, operation time point and duration, and formatting analysis time. 1. Use std::chrono::system_clock::now() to obtain the current time, which can be converted into a readable string, but the system clock may not be monotonous; 2. Use std::chrono::steady_clock to measure the execution time to ensure monotony, and convert it into milliseconds, seconds and other units through duration_cast; 3. Time point (time_point) and duration (duration) can be interoperable, but attention should be paid to unit compatibility and clock epoch (epoch)

How does PHP handle Environment Variables? How does PHP handle Environment Variables? Jul 14, 2025 am 03:01 AM

ToaccessenvironmentvariablesinPHP,usegetenv()orthe$_ENVsuperglobal.1.getenv('VAR_NAME')retrievesaspecificvariable.2.$_ENV['VAR_NAME']accessesvariablesifvariables_orderinphp.iniincludes"E".SetvariablesviaCLIwithVAR=valuephpscript.php,inApach

Why We Comment: A PHP Guide Why We Comment: A PHP Guide Jul 15, 2025 am 02:48 AM

PHPhasthreecommentstyles://,#forsingle-lineand/.../formulti-line.Usecommentstoexplainwhycodeexists,notwhatitdoes.MarkTODO/FIXMEitemsanddisablecodetemporarilyduringdebugging.Avoidover-commentingsimplelogic.Writeconcise,grammaticallycorrectcommentsandu

PHP header redirect not working PHP header redirect not working Jul 14, 2025 am 01:59 AM

Reasons and solutions for the header function jump failure: 1. There is output before the header, and all pre-outputs need to be checked and removed or ob_start() buffer is used; 2. The failure to add exit causes subsequent code interference, and exit or die should be added immediately after the jump; 3. The path error should be used to ensure correctness by using absolute paths or dynamic splicing; 4. Server configuration or cache interference can be tried to clear the cache or replace the environment test.

PHP prepared statement get result PHP prepared statement get result Jul 14, 2025 am 02:12 AM

The method of using preprocessing statements to obtain database query results in PHP varies from extension. 1. When using mysqli, you can obtain the associative array through get_result() and fetch_assoc(), which is suitable for modern environments; 2. You can also use bind_result() to bind variables, which is suitable for situations where there are few fields and fixed structures, and it is good compatibility but there are many fields when there are many fields; 3. When using PDO, you can obtain the associative array through fetch (PDO::FETCH_ASSOC), or use fetchAll() to obtain all data at once, so the interface is unified and the error handling is clearer; in addition, you need to pay attention to parameter type matching, execution of execute(), timely release of resources and enable error reports.

PHP check if a string starts with a specific string PHP check if a string starts with a specific string Jul 14, 2025 am 02:44 AM

In PHP, you can use a variety of methods to determine whether a string starts with a specific string: 1. Use strncmp() to compare the first n characters. If 0 is returned, the beginning matches and is not case sensitive; 2. Use strpos() to check whether the substring position is 0, which is case sensitive. Stripos() can be used instead to achieve case insensitive; 3. You can encapsulate the startsWith() or str_starts_with() function to improve reusability; in addition, it is necessary to note that empty strings return true by default, encoding compatibility and performance differences, strncmp() is usually more efficient.

how to avoid undefined index error in PHP how to avoid undefined index error in PHP Jul 14, 2025 am 02:51 AM

There are three key ways to avoid the "undefinedindex" error: First, use isset() to check whether the array key exists and ensure that the value is not null, which is suitable for most common scenarios; second, use array_key_exists() to only determine whether the key exists, which is suitable for situations where the key does not exist and the value is null; finally, use the empty merge operator?? (PHP7) to concisely set the default value, which is recommended for modern PHP projects, and pay attention to the spelling of form field names, use extract() carefully, and check the array is not empty before traversing to further avoid risks.

See all articles