Maison développement back-end tutoriel php 直接可以拿来用的PHP惯用功能代码片段(16~20)

直接可以拿来用的PHP惯用功能代码片段(16~20)

Jun 13, 2016 am 11:38 AM
amp dir return string week

直接可以拿来用的PHP常用功能代码片段(16~20)

文章来源:jquery教程?-?http://www.jq-school.com/Show.aspx?id=328

?

前面已经分享了

1、PHP常用功能代码片段(1~5)

2、PHP常用功能代码片段(6~10)

3、PHP常用功能代码片段(11~15)

今天是第4篇,主要有截取字符串、计算一年多少个星期,返回一个星期的开始时间和结束时间(可选返回时间戳或日期)、实现递归创建多级目录、递归删除目录、检测QQ状态等功能,也就是第16到20这5个实用代码片段,希望可以帮到jquery学堂群里面的成员和广大对PHP开发的网友们提高开发效率,以下是第4篇文章。


16、PHP实现截取字符串的通用方法

/**  * 截取字符串  * params $string 要截取的字符串  * params $length: 保留长度(字符数)  * params $dot: 多余部分显示**/function _cutstr($string, $length, $dot = ' ...') {    if(strlen($string) <= $length) {        return $string;    }    $string = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string);    $strcut = '';    $n = $tn = $noc = 0;    while($n < strlen($string)) {            $t = ord($string[$n]);        if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {            $tn = 1; $n++; $noc++;        } elseif(194 <= $t && $t <= 223) {            $tn = 2; $n += 2; $noc += 2;        } elseif(224 <= $t && $t < 239) {            $tn = 3; $n += 3; $noc += 2;        } elseif(240 <= $t && $t <= 247) {            $tn = 4; $n += 4; $noc += 2;        } elseif(248 <= $t && $t <= 251) {            $tn = 5; $n += 5; $noc += 2;        } elseif($t == 252 || $t == 253) {            $tn = 6; $n += 6; $noc += 2;        } else {            $n++;        }            if($noc >= $length) {            break;        }        }    if($noc > $length) {        $n -= $tn;    }    $strcut = substr($string, 0, $n);            $strcut = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $strcut);    return $strcut.$dot;}
Copier après la connexion


17、PHP实现计算一年多少个星期,返回一个星期的开始时间和结束时间(可选返回时间戳或日期)

function getWeekStartAndEnd ($year,$week=1) {    header("Content-type:text/html;charset=utf-8");    date_default_timezone_set("Asia/Shanghai");    $year = (int)$year;    $week = (int)$week;    //按给定的年份计算本年周总数    $date = new DateTime;    $date->setISODate($year, 53);    $weeks = max($date->format("W"),52);    //如果给定的周数大于周总数或小于等于0    if($week>$weeks || $week<=0){        return false;    }    //如果周数小于10    if($week<10){        $week = '0'.$week;    }    //当周起止时间戳    $timestamp['start'] = strtotime($year.'W'.$week);    $timestamp['end'] = strtotime('+1 week -1 day',$timestamp['start']);    //当周起止日期    $timeymd['start'] = date("Y-m-d",$timestamp['start']);    $timeymd['end'] = date("Y-m-d",$timestamp['end']);        //返回起始时间戳    return $timestamp;    //返回日期形式    //return $timeymd;}
Copier après la connexion


18、PHP实现递归创建多级目录的通用方法

/** * +-------------------------------------------------------------------- * Description 递归创建目录 +-------------------------------------------------------------------- * @param  string $dir 需要创新的目录 +-------------------------------------------------------------------- * @return 若目录存在,或创建成功则返回为TRUE +-------------------------------------------------------------------- * @author gongwen +-------------------------------------------------------------------- */function mkdirs($dir, $mode = 0777){ 	if (is_dir($dir) || mkdir($dir, $mode)) return TRUE; 	if (!mkdirs(dirname($dir), $mode)) return FALSE; 	return mkdir($dir, $mode); }
Copier après la connexion


19、PHP实现递归删除目录的通用方法

/** * +-------------------------------------------------------------------- * Description 递归删除目录 +-------------------------------------------------------------------- * @param  string $dir 需要删除的目录 +-------------------------------------------------------------------- * @return 若目录不存在或册除成功则返回为TRUE +-------------------------------------------------------------------- * @author gongwen +-------------------------------------------------------------------- */function rmdirs($dir){	if (!is_dir($dir) || rmdir($dir)) return TRUE;	if($dir_handle=opendir($dir)){		while($filename=readdir($dir_handle)){			if($filename!='.' && $filename!='..'){				$subFile=$dir.'/'.$filename;			}			is_dir($subFile)?rmdirs($subFile):unlink($subFile);		}		closedir($dir_handle);		return rmdir($dir);	}}
Copier après la connexion


20、PHP实现检测QQ状态的通用方法

function qq_status(){    if (empty($qq))$qq = 429590191;    $url = 'http://wpa.qq.com/pa?p=2:'.$qq.':52';    $Headers = get_headers($url, 1);    if ($Headers['Location']=='http://pub.idqqimg.com/qconn/wpa/button/button_121.gif'){        $Status = 1;  //QQ在线    }elseif ($Headers['Location']=='http://pub.idqqimg.com/qconn/wpa/button/button_120.gif'){        $Status = 2;  //QQ离线    }else {        $Status = 0;  //未知    }            Return $Status;        }//测试数据$qqwp = qq_status('429590191');  //测试QQ是否在线,返回1=在线,返回2=离线,返回0=错误if ($qqwp==1){    echo 'QQ在线';}elseif ($qqwp==2){    echo 'QQ离线';}else {    echo '出错了';}
Copier après la connexion


?

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Convertissez les types de données de base en chaînes à l'aide de la fonction String.valueOf() de Java Convertissez les types de données de base en chaînes à l'aide de la fonction String.valueOf() de Java Jul 24, 2023 pm 07:55 PM

Convertir les types de données de base en chaînes à l'aide de la fonction String.valueOf() de Java Dans le développement Java, lorsque nous devons convertir les types de données de base en chaînes, une méthode courante consiste à utiliser la fonction valueOf() de la classe String. Cette fonction peut accepter les paramètres des types de données de base et renvoyer la représentation sous forme de chaîne correspondante. Dans cet article, nous explorerons comment utiliser la fonction String.valueOf() pour les conversions de types de données de base et fournirons quelques exemples de code pour

Explication détaillée de l'utilisation de return en langage C Explication détaillée de l'utilisation de return en langage C Oct 07, 2023 am 10:58 AM

L'utilisation de return en langage C est la suivante : 1. Pour les fonctions dont le type de valeur de retour est void, vous pouvez utiliser l'instruction return pour terminer l'exécution de la fonction plus tôt. 2. Pour les fonctions dont le type de valeur de retour n'est pas void, la fonction de ; l'instruction return sert à terminer l'exécution de la fonction.Le résultat est renvoyé à l'appelant ;3. Terminer l'exécution de la fonction plus tôt que prévu.À l'intérieur de la fonction, nous pouvons utiliser l'instruction return pour terminer l'exécution de la fonction plus tôt. si la fonction ne renvoie pas de valeur.

Comment convertir un tableau de caractères en chaîne Comment convertir un tableau de caractères en chaîne Jun 09, 2023 am 10:04 AM

Méthode de conversion d'un tableau de caractères en chaîne : cela peut être réalisé par affectation. Utilisez la syntaxe {char a[]=" abc d\0efg ";string s=a;} pour laisser le tableau de caractères attribuer directement une valeur à la chaîne et l'exécuter. le code pour terminer la conversion.

Quel est l'ordre d'exécution des instructions return et enfin en Java ? Quel est l'ordre d'exécution des instructions return et enfin en Java ? Apr 25, 2023 pm 07:55 PM

Code source : publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}# Sortie La sortie du code ci-dessus peut simplement conclure : return est exécuté avant finalement. Jetons un coup d'œil à ce qui se passe au niveau du bytecode. Ce qui suit intercepte une partie du bytecode de la méthode case1 et compare le code source pour annoter la signification de chaque instruction dans

Utilisez la fonction String.replace() de Java pour remplacer des caractères (chaînes) dans une chaîne Utilisez la fonction String.replace() de Java pour remplacer des caractères (chaînes) dans une chaîne Jul 25, 2023 pm 05:16 PM

Remplacez les caractères (chaînes) dans une chaîne à l'aide de la fonction String.replace() de Java. En Java, les chaînes sont des objets immuables, ce qui signifie qu'une fois qu'un objet chaîne est créé, sa valeur ne peut pas être modifiée. Cependant, vous pouvez rencontrer des situations dans lesquelles vous devez remplacer certains caractères ou chaînes dans une chaîne. À l'heure actuelle, nous pouvons utiliser la méthode replace() dans la classe String de Java pour implémenter le remplacement de chaîne. La méthode replace() de la classe String a deux types :

Explication détaillée de 2 mots en chaîne, yyds Explication détaillée de 2 mots en chaîne, yyds Aug 24, 2023 pm 03:56 PM

Bonjour à tous, aujourd'hui je vais partager avec vous les connaissances de base de Java : String. Inutile de dire l'importance de la classe String, on peut dire que c'est la classe la plus utilisée dans notre développement back-end, il est donc nécessaire d'en parler.

Compétences en matière de conversion d'octets, de runes et de types de chaînes Golang Compétences en matière de conversion d'octets, de runes et de types de chaînes Golang May 17, 2023 am 08:21 AM

Dans la programmation Golang, les types octet, rune et chaîne sont des types de données très basiques et courants. Ils jouent un rôle important dans le traitement des opérations de données telles que les chaînes et les flux de fichiers. Lors de l'exécution de ces opérations de données, nous devons généralement les convertir les unes aux autres, ce qui nécessite la maîtrise de certaines compétences de conversion. Cet article présentera les techniques de conversion de types d'octets, de runes et de chaînes des fonctions Golang, dans le but d'aider les lecteurs à mieux comprendre ces types de données et à être capables de les appliquer habilement dans la pratique de la programmation.

Utilisez la fonction String.length() de Java pour obtenir la longueur d'une chaîne Utilisez la fonction String.length() de Java pour obtenir la longueur d'une chaîne Jul 25, 2023 am 09:09 AM

Utilisez la fonction String.length() de Java pour obtenir la longueur d'une chaîne. En programmation Java, la chaîne est un type de données très courant. Nous avons souvent besoin d'obtenir la longueur d'une chaîne, c'est-à-dire le nombre de caractères qu'elle contient. En Java, nous pouvons utiliser la fonction length() de la classe String pour obtenir la longueur d'une chaîne. Voici un exemple de code simple : publicclassStringLengthExample{publ

See all articles