Deprecated
: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in
/www/wwwroot/testblog.58heshihu.com/var/Widget/Archive.php
on line
1057
首页
关于
Search
1
给你10个市场数据调研报告的免费下载网站!以后竞品数据就从这里找!
182 阅读
2
php接口优化 使用curl_multi_init批量请求
144 阅读
3
《从菜鸟到大师之路 ElasticSearch 篇》
107 阅读
4
2024年备考系统架构设计师
104 阅读
5
PHP 文件I/O
92 阅读
php
thinkphp
laravel
工具
开源
mysql
数据结构
总结
思维逻辑
令人感动的创富故事
读书笔记
前端
vue
js
css
书籍
开源之旅
架构
消息队列
docker
教程
代码片段
redis
服务器
nginx
linux
科普
java
c
ElasticSearch
测试
php进阶
php基础
登录
Search
标签搜索
php函数
php语法
性能优化
安全
错误和异常处理
问题
vue
Composer
Session
缓存
框架
Swoole
api
并发
异步
正则表达式
php-fpm
mysql 索引
开发规范
协程
dafenqi
累计撰写
786
篇文章
累计收到
28
条评论
首页
栏目
php
thinkphp
laravel
工具
开源
mysql
数据结构
总结
思维逻辑
令人感动的创富故事
读书笔记
前端
vue
js
css
书籍
开源之旅
架构
消息队列
docker
教程
代码片段
副业
redis
服务器
nginx
linux
科普
java
c
ElasticSearch
测试
php进阶
php基础
页面
关于
搜索到
31
篇与
的结果
2023-12-30
php中截取字符串的方法有哪些
php中截取字符串的方法有哪些1、使用substr()截取字符串substr() 函数可以从字符串的指定位置截取一定长度的字符,这段被截取的字符可称为“子串”或者“子字符串”,其语法格式如下:substr($string, $start [, $length])参数说明如下:$string:需要截取的字符串,该字符串至少含有一个字符;$start:截取字符串的起始位置;如果 $start 是非负数,那么字符串将从 $string 的第 $start 个字符处开始截取,$start 从 0 开始计算。例如在字符串“abcdef”中,在 0 位置的字符是“a”,在 2 位置的字符串是 “c” 等等;如果 $start 是负数,那么字符串将从 $string 结尾处向前数第 $start 个字符开始,$start 从 -1 开始计算。例如在字符串“abcdef”中,在 -1 位置的字符是“f”,在 -3 位置的字符是“d”等等;如果 $string 的长度小于 $start,将返回 FALSE。$length:可选参数,表示截取字符串的长度。如果 $length 为正数,那么字符串将从 $start 位置向后截取最多 $length 个字符;如果 $length 为负数,那么 $string 末尾的 $length 个字符将会被省略(若 $start 是负数则从字符串尾部算起);如果 $length 的值为 0,FALSE 或 NULL,那么将返回一个空字符串;如果没有提供 $length,那么返回的子字符串将从 $start 位置开始直到字符串的结尾。示例:使用带有不同正负数的 start 和 length 参数<?php echo substr("Hello world",0,10)."<br>"; echo substr("Hello world",1,8)."<br>"; echo substr("Hello world",0,5)."<br>"; echo substr("Hello world",6,6)."<br>"; echo substr("Hello world",0,-1)."<br>"; echo substr("Hello world",-10,-2)."<br>"; echo substr("Hello world",0,-6)."<br>"; echo substr("Hello world",-2-3)."<br>"; ?>输出:Hello worl ello wor Hello world Hello worl ello wor Hello world2、使用mb_substr()截取中文字符串mb_substr() 函数可以从一个字符串中截取指定的一部分,与 substr() 函数不同的是,mb_substr() 函数不仅对英文字符有效,对中文字符同样有效,其语法格式如下:mb_substr($str , $start [, $length = NULL [, $encoding = mb_internal_encoding()]])参数说明如下:$str:待截取的字符串,字符串中至少包含一个字符;$start:截取字符串的起始位置;如果 $start 为非负数,那么字符串会从 $str 的第 $start 个字符的位置开始截取;如果 $start 是负数,那么字符串会从 $str 结尾处向前数第 $start 个字符的位置开始截取。$length:可选参数,表示截取字符串的长度;如果 $length 为正数,那么字符串将从 $start 位置向后截取最多 $length 个字符;如果 $length 为负数,那么 $string 末尾的 $length 个字符将会被省略(若 $start 是负数则从字符串尾部算起);如果 $length 的值 NULL 或者省略 $length,则会截取到字符串的末尾。$encoding:可选参数,表示 $str 的字符编码,如果省略,则使用内部字符编码。示例:使用 mb_substr() 函数,截取指定长度的中文字符串<?php $str = '欢迎访问PHP中文网,一个在线学习编程的网站。'; echo mb_substr($str, 4).'<br>'; echo mb_substr($str, -19).'<br>'; echo mb_substr($str, 4, 6).'<br>'; echo mb_substr($str, 4, -16).'<br>'; echo mb_substr($str, -19, -13).'<br>'; echo mb_substr($str, -19, 6).'<br>'; var_dump(mb_substr($str, 40)); echo '<br>'; var_dump(mb_substr($str, 4, null)); ?>运行结果如下:PHP中文网,一个在线学习编程的网站。 PHP中文网,一个在线学习编程的网站。 PHP中文网 PHP PHP中文网 PHP中文网 string(0) "" string(55) "PHP中文网,一个在线学习编程的网站。"
2023年12月30日
15 阅读
0 评论
0 点赞
2023-12-30
10个必备的字符串处理函数及其使用示例
10个必备的字符串处理函数及其使用示例在PHP开发中,字符串是一个不可或缺的部分。为了更高效地处理和操作字符串,我们需要掌握一些必备的字符串处理函数。本文将介绍10个常用的PHP字符串处理函数,并提供相应的代码示例,帮助你更好地理解和应用这些函数。第一部分:字符串截取与连接1. substr(string $string, int $start[, int $length]) // 字符串截取函数作用:从指定位置开始截取字符串的指定长度示例:$string = "Hello World"; $result = substr($string, 6, 5); echo $result; // 输出 "World"2. str_replace(mixed $search, mixed $replace, mixed $subject[, int &$count]) // 字符串替换函数作用:将字符串中的指定文本替换为新的文本示例:$string = "Hello World"; $result = str_replace("World", "PHP", $string); echo $result; // 输出 "Hello PHP"3. implode(string $glue, array $pieces) // 字符串连接函数作用:将数组元素用指定的分隔符连接成一个字符串示例:$array = array("Hello", "PHP", "World"); $result = implode(" ", $array); echo $result; // 输出 "Hello PHP World"第二部分:字符串查找与判断1. strpos(string $haystack, mixed $needle[, int $offset = 0]) // 字符串查找函数作用:检查字符串中是否包含指定的文本,并返回首次出现的位置示例:$string = "Hello PHP World"; $result = strpos($string, "PHP"); echo $result; // 输出 62. str_contains(string $haystack, mixed $needle) // 判断字符串是否包含指定文本作用:检查字符串是否包含指定的文本(PHP 8.0+)示例:$string = "Hello PHP World"; $result = str_contains($string, "PHP"); echo $result; // 输出 13. str_starts_with(string $haystack, mixed $needle) // 判断字符串是否以指定文本开头(PHP 8.0+)作用:检查字符串是否以指定的文本开头示例:$string = "Hello PHP World"; $result = str_starts_with($string, "Hello"); echo $result; // 输出 14. str_ends_with(string $haystack, mixed $needle) // 判断字符串是否以指定文本结尾(PHP 8.0+)作用:检查字符串是否以指定的文本结尾示例:$string = "Hello PHP World"; $result = str_ends_with($string, "World"); echo $result; // 输出 1第三部分:字符串分割与格式化1.explode(string $delimiter, string $string[, int $limit = PHP_INT_MAX]) // 字符串分割函数作用:将字符串以指定的分隔符分割成数组示例:$string = "Hello,PHP,World"; $result = explode(",", $string); print_r($result); // 输出 Array ( [0] => Hello [1] => PHP [2] => World )2. trim(string $string[, string $characters = " \t\n\r\0\x0B"]) // 字符串修剪函数作用:去除字符串首尾的空格或指定的字符示例:$string = " Hello World "; $result = trim($string); echo $result; // 输出 "Hello World"3. sprintf(string $format, mixed ...$args) // 字符串格式化函数作用:将指定的变量按照指定的格式进行格式化,返回格式化后的字符串 示例: $name = "Alice"; $age = 25; $result = sprintf("My name is %s and I am %d years old.", $name, $age); echo $result; // 输出 "My name is Alice and I am 25 years old."总结:本文介绍了10个必备的PHP字符串处理函数,并提供了相应的代码示例,帮助你更好地掌握和应用这些函数。通过灵活运用这些函数,你可以更高效地处理字符串,提升开发效率。希望本文能对你的PHP开发工作有所帮助!
2023年12月30日
15 阅读
0 评论
0 点赞
2023-08-15
php 函数汇总
字符串函数sprintf()是一个用于格式化字符串的函数。
2023年08月15日
34 阅读
0 评论
0 点赞
2023-08-12
使用phpunit进行单元测试
使用phpunit进行单元测试本教程假定您使用 PHP 8.1 或 PHP 8.2。您将学习如何编写简单的单元测试以及如何下载和运行 PHPUnit.PHPUnit 10 的文档 在这。下载:可以用以下2种方法之一:1.PHP 存档 (PHAR)我们分发了一个 PHP存档(PHAR),其中包含使用PHPUnit 10所需的一切 。只需从这里 下载 并使其可执行:wget -O phpunit https://phar.phpunit.de/phpunit-10.phar ➜ chmod +x phpunit ➜ ./phpunit --version PHPUnit 10.0.0 by Sebastian Bergmann and contributors.2.Composer您可以使用 Composer 将 PHPUnit 作为本地、每个项目、开发时依赖项添加到您的项目中:➜ composer require --dev phpunit/phpunit ^10 ➜ ./vendor/bin/phpunit --version PHPUnit 10.0.0 by Sebastian Bergmann and contributors.上面显示的示例假定composer在您的$PATH上。您的 composer.json 应该看起来像这样:{ "autoload": { "classmap": [ "src/" ] }, "require-dev": { "phpunit/phpunit": "^10" } }代码src/Email.php<?php declare(strict_types=1); final class Email { private string $email; private function __construct(string $email) { $this->ensureIsValidEmail($email); $this->email = $email; } public static function fromString(string $email): self { return new self($email); } public function asString(): string { return $this->email; } private function ensureIsValidEmail(string $email): void { if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { throw new InvalidArgumentException( sprintf( '"%s" is not a valid email address', $email ) ); } } }测试代码tests/EmailTest.php<?php declare(strict_types=1); use PHPUnit\Framework\TestCase; final class EmailTest extends TestCase { public function testCanBeCreatedFromValidEmail(): void { $string = 'user@example.com'; $email = Email::fromString($string); $this->assertSame($string, $email->asString()); } public function testCannotBeCreatedFromInvalidEmail(): void { $this->expectException(InvalidArgumentException::class); Email::fromString('invalid'); } }测试执行:以下2种方法都可以:1.PHP 存档 (PHAR)➜ ./phpunit --bootstrap src/autoload.php tests PHPUnit 10.0.0 by Sebastian Bergmann and contributors. .. 2 / 2 (100%) Time: 70 ms, Memory: 10.00MB OK (2 tests, 2 assertions)上面假设你已经下载了phpunit.phar并将其作为phpunit放入你的$PATH,并且src/autoload.php 是一个为要测试的类设置自动加载 的脚本。这样的脚本通常使用 phpab 等工具生成。--bootstrap src/autoload.php指示 PHPUnit 命令行测试运行程序在运行测试之前包含src/autoload.php.tests 指示 PHPUnit 命令行测试运行程序执行在 tests 目录的 *Test.php 源代码文件中声明的所有测试.2.Composer➜ ./vendor/bin/phpunit tests PHPUnit 10.0.0 by Sebastian Bergmann and contributors. .. 2 / 2 (100%) Time: 70 ms, Memory: 10.00MB OK (2 tests, 2 assertions)上面假设 vendor/autoload.php(由 Composer 管理的自动加载器脚本)存在,并且能够加载 Email 类的代码。根据设置自动加载的方式,您可能需要立即运行composer dump-autoload。tests 指示 PHPUnit 命令行测试运行程序执行在 tests 目录的 Test.php 源代码文件中声明的所有测试.一些测试组件推荐:https://packagist.org/packages/mockery/mockeryphpunit/phpunitfakerphp/fakerhttps://github.com/phpstan/phpstanvimeo/psalmmikey179/vfsstreamrector/rector引用declare和strict_typesps:declare(strict_types=1);严格类型默认情况下,如果能做到的话,PHP将会强迫错误类型的值转为函数期望的标量类型。例如,一个函数的一个参数期望是string,但传入的是integer,最终函数得到的将会是一个string类型的值。可以基于每一个文件开启严格模式。在严格模式中,只有一个与类型声明完全相符的变量才会被接受,否则将会抛出一个TypeError。 唯一的一个例外是可以将integer传给一个期望float的函数。使用 declare 语句和strict_types 声明来启用严格模式https://blog.csdn.net/joshua317/article/details/121252625assertsame使用运算符检查身份报告由 if 标识的错误,如果两个变量的类型和值不同 或者 两个变量不引用同一对象 报错https://docs.phpunit.de/en/10.1/assertions.html#assertsame
2023年08月12日
16 阅读
0 评论
0 点赞
2023-08-12
原生php递归删除文件+文件夹
原生php递归删除文件+文件夹<?php function deldir($dirname){ if(file_exists($dirname)) {//判断是否存在文件夹 $dir=opendir($dirname);//打开文件夹 while($filename=readdir($dir)){//读取123文件夹里面的数据 if($filename!="." && $filename!=".."){//除去.并且..除外 $file=$dirname."/".$filename; if(is_dir($file)){ deldir($file); //使用递归删除子目录,就是说判断123文件夹里面有没有文件夹,如果有遍历然后删除 }else{ echo '删除文件<b>'.$file.'</b>成功<br>'; unlink($file); } } } closedir($dir); echo '删除目录<b>'.$dirname.'</b>成功<br>'; rmdir($dirname); } } deldir('D:3');//比如文件在d盘的123目录下 ?>
2023年08月12日
9 阅读
0 评论
0 点赞
1
2
3
4
...
7