Heim Backend-Entwicklung PHP-Tutorial 直接可以拿来用的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;}
Nach dem Login kopieren


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;}
Nach dem Login kopieren


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); }
Nach dem Login kopieren


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);	}}
Nach dem Login kopieren


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 '出错了';}
Nach dem Login kopieren


?

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Konvertieren Sie grundlegende Datentypen mit der Java-Funktion String.valueOf() in Strings Konvertieren Sie grundlegende Datentypen mit der Java-Funktion String.valueOf() in Strings Jul 24, 2023 pm 07:55 PM

Konvertieren Sie grundlegende Datentypen mit der Java-Funktion String.valueOf() in Strings. Wenn wir in der Java-Entwicklung grundlegende Datentypen in Strings konvertieren müssen, ist eine gängige Methode die Verwendung der Funktion valueOf() der String-Klasse. Diese Funktion kann Parameter grundlegender Datentypen akzeptieren und die entsprechende Zeichenfolgendarstellung zurückgeben. In diesem Artikel untersuchen wir, wie die Funktion String.valueOf() für grundlegende Datentypkonvertierungen verwendet wird, und stellen einige Codebeispiele dafür bereit

Detaillierte Erläuterung der Verwendung von Return in der C-Sprache Detaillierte Erläuterung der Verwendung von Return in der C-Sprache Oct 07, 2023 am 10:58 AM

Die Verwendung von return in der C-Sprache ist: 1. Für Funktionen, deren Rückgabewerttyp ungültig ist, können Sie die Rückgabeanweisung verwenden, um die Ausführung der Funktion vorzeitig zu beenden. 2. Für Funktionen, deren Rückgabewerttyp nicht ungültig ist, ist die Funktion von Die Return-Anweisung dient dazu, die Ausführung der Funktion zu beenden. 3. Beenden Sie die Ausführung der Funktion vorzeitig wenn die Funktion keinen Wert zurückgibt.

So konvertieren Sie ein Char-Array in einen String So konvertieren Sie ein Char-Array in einen String Jun 09, 2023 am 10:04 AM

Methode zum Konvertieren eines char-Arrays in einen String: Dies kann durch Zuweisung erreicht werden. Verwenden Sie die Syntax {char a[]=" abc d\0efg ";string s=a;}, damit das char-Array dem String direkt einen Wert zuweisen und ausführen kann Der Code zum Abschließen der Konvertierung.

Wie ist die Ausführungsreihenfolge von Return- und Final-Anweisungen in Java? Wie ist die Ausführungsreihenfolge von Return- und Final-Anweisungen in Java? Apr 25, 2023 pm 07:55 PM

Quellcode: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}# Ausgabe Die Ausgabe des obigen Codes kann einfach zu dem Schluss kommen: return wird ausgeführt, bevor wir uns schließlich ansehen, was auf der Bytecode-Ebene passiert. Im Folgenden wird ein Teil des Bytecodes der Methode case1 abgefangen und mit dem Quellcode verglichen, um die Bedeutung jeder Anweisung darin zu kommentieren

Verwenden Sie die String.replace()-Funktion von Java, um Zeichen (Strings) in einem String zu ersetzen Verwenden Sie die String.replace()-Funktion von Java, um Zeichen (Strings) in einem String zu ersetzen Jul 25, 2023 pm 05:16 PM

Ersetzen Sie Zeichen (Strings) in einem String mit der Java-Funktion String.replace(). In Java sind Strings unveränderliche Objekte, was bedeutet, dass der Wert eines String-Objekts nach der Erstellung nicht mehr geändert werden kann. Es kann jedoch vorkommen, dass Sie bestimmte Zeichen oder Zeichenfolgen in einer Zeichenfolge ersetzen müssen. Zu diesem Zeitpunkt können wir die Methode replace () in der String-Klasse von Java verwenden, um das Ersetzen von Zeichenfolgen zu implementieren. Die Methode replace() der Klasse String hat zwei Typen:

2w Wörter detaillierte Erklärung String, yyds 2w Wörter detaillierte Erklärung String, yyds Aug 24, 2023 pm 03:56 PM

Hallo zusammen, heute werde ich die Grundkenntnisse von Java: String mit Ihnen teilen. Unnötig zu erwähnen, wie wichtig die String-Klasse ist. Man kann sagen, dass sie die am häufigsten verwendete Klasse in unserer Back-End-Entwicklung ist, daher ist es notwendig, darüber zu sprechen.

Fähigkeiten zur Byte-, Runen- und String-Konvertierung von Golang-Funktionen Fähigkeiten zur Byte-, Runen- und String-Konvertierung von Golang-Funktionen May 17, 2023 am 08:21 AM

In der Golang-Programmierung sind Byte-, Runen- und String-Typen sehr grundlegende und gängige Datentypen. Sie spielen eine wichtige Rolle bei der Verarbeitung von Datenoperationen wie Zeichenfolgen und Dateiströmen. Wenn wir diese Datenoperationen durchführen, müssen wir sie normalerweise ineinander konvertieren, was die Beherrschung einiger Konvertierungsfähigkeiten erfordert. In diesem Artikel werden die Konvertierungstechniken für Byte-, Runen- und String-Typen von Golang-Funktionen vorgestellt. Ziel ist es, den Lesern zu helfen, diese Datentypen besser zu verstehen und sie geschickt in der Programmierpraxis anwenden zu können.

Verwenden Sie die String.length()-Funktion von Java, um die Länge einer Zeichenfolge zu ermitteln Verwenden Sie die String.length()-Funktion von Java, um die Länge einer Zeichenfolge zu ermitteln Jul 25, 2023 am 09:09 AM

Verwenden Sie die String.length()-Funktion von Java, um die Länge einer Zeichenfolge zu ermitteln. In der Java-Programmierung ist die Zeichenfolge ein sehr häufiger Datentyp. Wir müssen häufig die Länge einer Zeichenfolge ermitteln, dh die Anzahl der Zeichen in der Zeichenfolge. In Java können wir die Funktion length() der String-Klasse verwenden, um die Länge eines Strings zu ermitteln. Hier ist ein einfacher Beispielcode: publicclassStringLengthExample{publ

See all articles