PHP 配列を使用して、無制限の分類、データベースなし、再帰なしを実現します。_PHP チュートリアル
dat
php
public
いいえ
コード
使用
分類
コピー
成し遂げる
データベース
配列
無制限
再帰
コードをコピーします コードは次のとおりです:
class cat
{
public $data;
public function __construct()
{
@include "data.php";
$this->data = $class;
}
パブリック 関数 CreateSortLevel($fatherlevel)
{
if(empty($fatherlevel))
if(is_array($this-&g) t;data))
{
$fast_level = array();
foreach($this->data as $value)
{
if(strlen($value["sortlevel"]) == 3)
{
$fast_level[] = $value["sortlevel"];
}
}
$max_fast_level = max($fast_level);
unset($fast_level);
$sub = ceil($max_fast_level) + 1;
switch(strlen($sub))
{
case 1:
return "00{$sub}";
休憩;
ケース 2:
return "0{$sub}";
休憩;
ケース 3:
$sub を返す。
休憩;
}
}
else
{
return "001";
}
}
foreach($this->data as $val)
{
if(eregi("^".$fatherlevel.".{3}$",$val["ソートレベル"]))
{
$level[] = $val["ソートレベル"];
if(is_array($level) )
{
$max_two_level = max($レベル);
$sub = ceil(substr($max_two_level,-3)) + 1;
switch(strlen($sub))
ケース 1:
return substr($max_two_level,0,strlen($max_two_level) -1).$sub;
break;
substr($max_two_level,0,strlen($max_two_level)-2)
break;
case 3:
return substr($max_two_level,0 ,strlen($max_two_level)-3).$sub;
break
}
else
return $fatherlevel."001";
}
}
パブリック関数orders()
{
$op = $this->data;
$this->array_usort($op,"sortlevel",SORT_ASC);
$op;
public function add_cat($sortname,$sortlevel)
{
$data =時間();
$arr = 配列
(
"{$data}" => 配列
(
"ソート名" => $ソート名,
"sortlevel" => $this->CreateSortLevel($sortlevel)
)
);
$rs = $this->data + $arr;
$this->add_wirte($rs);
}
プライベート 関数 array_usort(&$array)
{
$args = func_get_args();
for($i=1,$cmd='',$size=count($args);$i<$size;$i++)
{
$num = $i;
$order = "";
$con = "@strcmp($a['$args[$num]'],$b['$args[$num]'])";
while(++$i < $size)
{
if($args[$i] === SORT_NUMERIC)
{
{ $con = "($a['$args[$num]']-$ b['$args[$num]'])";
}
else if($args[$i] === SORT_DESC)
{
$order = "-1*" ;
}
else if(is_string($args[$i]))
{
$i--;
休憩。
}
}
$cmd .= "if($num = $con)return $order$num;else ";
if($order != '')
{
$i++;
}
}
@usort($array,@create_function('$a,$b',"$cmd return 0;"));
}
public function wirte($sortname,$sortlevel)
{
$array = " $array .= '$class = array'."rn(rn";
$array .= ' "'.time().'" => array'."rn";
$array .= ' ( '."rn";
$array .= ' "sortname" => "'.$sortname.'.",rn"; ->CreateSortLevel($sortlevel).'"'."rn";
$array .= ' )'."rn";
$array .= ")rn?>";
file_put_contents("data.php",$array);
}
public function add_wirte($rs)
{
$array = " $array .= '$class = array'."rn(rn";
foreach($rs as $key=>$value)
{
$array .= "rn"; $array .= ' " '.$key.'" => array'."rn";
$array .= ' ('."rn";
$array .= ' "sortname" => "'.$value["sortname "].'"'.",rn"
$array .= ' "'.$value["sortlevel"].'"'."rn"; ,';
$array = substr($array,0,-1);
$array .= "rn)rn?>";
file_put_contents("data.php",$array);
}
}
$cat = 新しい cat();
if($_GET["action"] == "add")
{
if(strlen($_POST["sortname"]) < 2)
{
echo '';
echo '';
終了します。
}
if(file_exists("data.php"))
{
$cat->add_cat($_POST["sortname"],$_POST["sortlevel"]);
echo '';
echo '';
終了します。
}
else
{
$cat->wirte($_POST["sortname"],$_POST["sortlevel"]);
echo '';
echo '';
終了します。
終了します。
}
}
if($_GET["action"] == "tpl")
{
echo '";
終了します。
}
foreach($cat->orders() as $value)
{
$level = strlen(substr($value['sortlevel'],0,-3));
for($i = 0; $i < $level; $i++)
{
echo "-";
}
echo $value["sortname"];
エコー "
";
}
?>
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
レポ:チームメイトを復活させる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
3週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7328
9


Java チュートリアル
1626
14


CakePHP チュートリアル
1350
46


Laravel チュートリアル
1262
25


PHP チュートリアル
1209
29



PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
