使用PHP数组实现无限分类,不使用数据库,不使用递归.
复制代码 代码如下:
class cat
{
public $data;
public function __construct()
{
@include "data.php";
$this->data = $class;
}
public function CreateSortLevel($fatherlevel)
{
if(empty($fatherlevel))
{
if(is_array($this->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}";
break;
case 2:
return "0{$sub}";
break;
case 3:
return $sub;
break;
}
}
else
{
return "001";
}
}
foreach($this->data as $val)
{
if(eregi("^".$fatherlevel.".{3}$",$val["sortlevel"]))
{
$level[] = $val["sortlevel"];
}
}
if(is_array($level))
{
$max_two_level = max($level);
$sub = ceil(substr($max_two_level,-3)) + 1;
switch(strlen($sub))
{
case 1:
return substr($max_two_level,0,strlen($max_two_level)-1).$sub;
break;
case 2:
return substr($max_two_level,0,strlen($max_two_level)-2).$sub;
break;
case 3:
return substr($max_two_level,0,strlen($max_two_level)-3).$sub;
break;
}
}
else
{
return $fatherlevel."001";
}
}
public function orders()
{
$op = $this->data;
$this->array_usort($op,"sortlevel",SORT_ASC);
return $op;
}
public function add_cat($sortname,$sortlevel)
{
$data = time();
$arr = array
(
"{$data}" => array
(
"sortname" => $sortname,
"sortlevel" => $this->CreateSortLevel($sortlevel)
)
);
$rs = $this->data + $arr;
$this->add_wirte($rs);
}
private function array_usort(&$array)
{
$args = func_get_args();
for($i=1,$cmd='',$size=count($args);$i {
$num = $i;
$order = "";
$con = "@strcmp($a['$args[$num]'],$b['$args[$num]'])";
while(++$i {
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--;
break;
}
}
$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";
$array .= ' "sortlevel" => "'.$this->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 .= ' "sortlevel" => "'.$value["sortlevel"].'"'."rn";
$array .= ' ),';
}
$array = substr($array,0,-1);
$array .= "rn)rn?>";
file_put_contents("data.php",$array);
}
}
$cat = new cat();
if($_GET["action"] == "add")
{
if(strlen($_POST["sortname"]) {
echo '<script>alert("请添加分类名字")</script>';
echo '<script>location.href="/cat.php?action=tpl"</script>';
exit;
}
if(file_exists("data.php"))
{
$cat->add_cat($_POST["sortname"],$_POST["sortlevel"]);
echo '<script>alert("添加成功")</script>';
echo '<script>location.href="/cat.php"</script>';
exit;
}
else
{
$cat->wirte($_POST["sortname"],$_POST["sortlevel"]);
echo '<script>alert("添加成功")</script>';
echo '<script>location.href="/cat.php"</script>';
exit;
exit;
}
}
if($_GET["action"] == "tpl")
{
echo '
exit;
}
foreach($cat->orders() as $value)
{
$level = strlen(substr($value['sortlevel'],0,-3));
for($i = 0; $i {
echo "-";
}
echo $value["sortname"];
echo "
";
}
?>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Session_Start () IsCrucialInPhpFormanAgingUsersessions.1) ItinitiateSanEwSessionIfNoneExists, 2) ConsomaSanExistingSession, and3) SetSasessionCooKieforContinuityAcrossrequests, permettant aux applications liées à la réaction et à la personne.

Les fonctions MySQL peuvent être utilisées pour le traitement et le calcul des données. 1. L'utilisation de base comprend le traitement des chaînes, le calcul de la date et les opérations mathématiques. 2. L'utilisation avancée consiste à combiner plusieurs fonctions pour implémenter des opérations complexes. 3. L'optimisation des performances nécessite d'éviter l'utilisation de fonctions dans la clause où et d'utiliser des tables groupby et temporaires.

Composer est un outil de gestion des dépendances pour PHP et gère les dépendances du projet via le fichier composer.json. 1) Parse Composer.json pour obtenir des informations de dépendance; 2) analyser les dépendances pour former un arbre de dépendance; 3) Télécharger et installer les dépendances de Packagist au répertoire du fournisseur; 4) Générez le fichier composer.lock pour verrouiller la version de dépendance pour assurer la cohérence de l'équipe et la maintenabilité du projet.

Les méthodes de configuration des ensembles de caractères et des collations dans MySQL incluent: 1. Définition des jeux de caractères et des collations au niveau du serveur: setNames'utf8 '; SetCharAttersetUtf8; SetCollation_Connection = 'utf8_general_ci'; 2. Créez une base de données qui utilise des jeux de caractères et des collations spécifiques: CreatedAtAbasEExample_DBCharacteSetUtf8CollateUtf8_General_ci; 3. Spécifiez les ensembles de caractères et les collations lors de la création d'une table: CreateTableExample_Table (IDInt

Le renommer une base de données dans MySQL nécessite des méthodes indirectes. Les étapes sont les suivantes: 1. Créez une nouvelle base de données; 2. Utilisez MySQLDump pour exporter l'ancienne base de données; 3. Importez les données dans la nouvelle base de données; 4. Supprimer l'ancienne base de données.

Nous avons besoin de compositeur car il peut gérer efficacement les dépendances des projets PHP et éviter les tracas des conflits de version et la gestion des bibliothèques manuelles. Composer déclare les dépendances via Composer.json et utilise Composer.lock pour assurer la cohérence de la version, simplifier le processus de gestion de la dépendance et améliorer la stabilité du projet et l'efficacité de développement.

MongoDB est une base de données NoSQL qui convient pour gérer de grandes quantités de données non structurées. 1) Il utilise des documents et des collections pour stocker les données. Les documents sont similaires aux objets JSON et les collections sont similaires aux tables SQL. 2) MongoDB réalise des opérations de données efficaces grâce à l'indexation et à la rupture de B-Tree. 3) Les opérations de base comprennent des documents de connexion, d'insertion et de requête; Les opérations avancées telles que les pipelines agrégés peuvent effectuer un traitement complexe de données. 4) Les erreurs courantes incluent une mauvaise gestion de l'objectif et une mauvaise utilisation des index. 5) L'optimisation des performances comprend l'optimisation de l'index, le fragment, la séparation en lecture-écriture et la modélisation des données.

Comment définir l'effet de rotation d'un élément dans HTML? Il peut être réalisé en utilisant CSS et JavaScript. 1. La propriété de transformation de CSS est utilisée pour la rotation statique, telle que Rotate (45deg). 2. JavaScript peut contrôler dynamiquement la rotation, qui est implémentée en modifiant l'attribut de transformation.
