PHP基础(2)

目录

一、PHP 数据类型

二、PHP 字符操作函数

strlen() 

str_word_count()

strrev()

strpos()

str_replace()


一、PHP 数据类型

PHP 有八种基本数据类型和两种复合数据类型:

  1. 整型(int):表示整数,可以是正数或负数,没有小数部分。
  2. 浮点型(float):表示带有小数点的数字,也称作双精度数或浮点数。
  3. 字符串型(string):表示一串字符或文本,使用引号包括起来,可以是单引号或双引号。
  4. 布尔型(bool):表示真或假,只有两个值:true 和 false。
  5. 数组型(array):表示一组值的集合,可以是数值索引或关联索引。
  6. 对象型(object):表示一个具体的实例化对象,由类定义。
  7. 可调用类型(callable):表示可以调用的函数或方法。
  8. 空值(null):表示一个不存在的值或空值。
  9. 资源类型(resource):表示外部资源(例如数据库连接)的引用。
  10. 迭代器类型(iterator):表示一个实现了迭代器接口的对象,可以遍历数组和对象。

二、PHP 字符操作函数

strlen() 

strlen() 函数是一个内置函数,它用于获取一个字符串的长度(字符数)。它的语法如下:

strlen(string $string): int

其中,$string 参数是要计算长度的字符串,返回值是这个字符串的长度,以整数形式表示。

例如:

$str = "Hello World!";
echo strlen($str); // 输出 12

注意:strlen() 函数计算字符串长度时,将空格和其他可见字符一视同仁。如果要忽略字符串开头和结尾的空格,可以使用 PHP 的 trim() 函数。、

str_word_count()

str_word_count()函数是一个PHP内置函数,用于计算字符串中单词的数量。函数原型如下:

int str_word_count ( string $string [, int $format = 0 [, string $charlist ]] )

参数解释:

  • $string:待计算单词数量的字符串。
  • $format:可选参数,表示计算方式。它有三种取值:
    • 0(默认值):函数只返回单词数量。
    • 1:函数返回一个包含字符串中所有单词的数组。
    • 2:函数返回一个关联数组,数组的键为单词在字符串中的位置,值为单词本身。
  • $charlist:可选参数,表示单词分隔符。默认情况下,函数使用空格、制表符、换行符、回车符和垂直制表符作为分隔符。

例如:

$str = "Hello world! How are you?";
echo str_word_count($str);  // 输出 5print_r(str_word_count($str, 1));  // 输出 Array ( [0] => Hello [1] => world! [2] => How [3] => are [4] => you? )print_r(str_word_count($str, 2));  // 输出 Array ( [0] => Hello [6] => world! [13] => How [17] => are [21] => you? )

可以看到,当$format为0时,函数返回单词数量;$format为1时,函数返回一个包含所有单词的数组;$format为2时,函数返回一个以单词在字符串中的位置为键、单词本身为值的关联数组。

strrev()

strrev()函数是PHP中的一个字符串函数,用于将指定字符串反转。它的语法如下:

strrev(string $string): string

参数说明:

  • $string:必选参数,表示要反转的字符串。

返回值:

  • 返回反转后的字符串。

示例:

$str = "hello world";
echo strrev($str); // 输出:dlrow olleh

strpos()

PHP strpos()函数用于在一个字符串中查找另一个字符串第一次出现的位置。

语法:

strpos($haystack, $needle, $offset)

参数解释:

  • $haystack:必需。要在其中查找子字符串的字符串。
  • $needle:必需。要查找的子字符串。
  • $offset:可选。搜索开始的位置。如果未设置,则搜索从字符串的开头开始。

返回值:

如果找到了子字符串,则返回子字符串第一次出现的位置。如果未找到子字符串,则返回false。

例如:

$str = "Hello world";
$pos = strpos($str, "world");
echo $pos; // 输出 6

注意事项:

  • 第三个参数 $offset 是可选的,如果省略,将从字符串的第一个字符开始搜索。
  • 如果 $needle 位于 $haystack 的第一个位置,则返回值为0,这与使用 if 语句测试返回值时可能会导致意外行为。要避免此问题,请始终使用全等运算符 (===) 进行测试。

str_replace()

PHP的str_replace()函数是用来在一个字符串中查找并替换指定的子串。它有三个必填的参数,分别为查找的字符串,替换的字符串以及要在哪个字符串中查找和替换。最后一个参数是可选的,用来指定替换次数。

示例:

$str = "Hello World!";
$new_str = str_replace("World", "PHP", $str);
echo $new_str;

输出:

Hello PHP!

上面的代码将在字符串中查找"World"并将其替换为"PHP"。最终输出的字符串为"Hello PHP!"。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/215578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线程Thread源代码思想学习1

1.启动线程代码 public class MultiThreadExample {public static void main(String[] args) {// 创建两个线程对象Thread thread1 new Thread(new Task());Thread thread2 new Thread(new Task());// 启动线程thread1.start();thread2.start();} }class Task implements Ru…

EXPLAIN 执行计划

有了慢查询语句后,就要对语句进行分析。一条查询语句在经过 MySQL 查询优化器的各种基于成本和规则的优化会后生成一个所谓的执行计划,这个执行计划展示了接下来具体执行查询的方式,比如多表连接的顺序是什么,对于每个表采用什么访…

记录 DevEco 开发 HarmonyOS 应用开发问题记录 【持续更新】

HarmonyOS 应用开发问题记录 HarmonyOS 应用开发问题记录一、预览器无法成功运行?如何定位预览器无法编译问题? 开发遇到的问题 HarmonyOS 应用开发问题记录 一、预览器无法成功运行? 大家看到这个是不是很头疼? 网上能看到许多方案,基本都是关闭一个配置 但是他们并…

InitializingBean初始化--Spring容器管理

目录 InitializingBean--自动执行一些初始化操作spring初始化bean有两种方式:1.优点2.缺点2.PostConstruct 注解2.举例使用InitializingBean接口 和PostConstruct3.初始化交给容器管理4.与main入口函数有什么区别5.在 Spring 中,有两种主要的初始化 bean…

【Java SE】带你识别什么叫做异常!!!

🌹🌹🌹个人主页🌹🌹🌹 【🌹🌹🌹Java SE 专栏🌹🌹🌹】 🌹🌹🌹上一篇文章:【Java SE】带…

Android获取Wifi网关

公司有这样一个应用场景:有一台球机设备,是Android系统的,它不像手机,它没有触摸屏幕,所以我们对球机的操作很不方便,于是我们搞这样一个设置:点击球机电源键5次分享出一个热点,然后…

【JVM从入门到实战】(一) 字节码文件

一、什么是JVM JVM 全称是 Java Virtual Machine,中文译名 Java虚拟机。 JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。 二、JVM的功能 解释和运行 对字节码文件中的指令,实时的解释成机器码,让计算机…

C++类模板不是一开始就创建的,而是调用时生成

类模板中的成员函数和普通类中成员函数创建时机有区别的&#xff1a; 普通类中的成员函数一开始就可以创建模板类中的成员函数调用的时候才可以创建 总结;类模板中的成员函数并不是一开始就创建的&#xff0c;再调用时才去创建 #include<iostream> using namespace st…

微信小程序:模态框(弹窗)的实现

效果 wxml <!--新增&#xff08;点击按钮&#xff09;--> <image classimg src"{{add}}" bindtapadd_mode></image> <!-- 弹窗 --> <view class"modal" wx:if"{{showModal}}"><view class"modal-conten…

Vue中$props、$attrs和$listeners的使用详解

文章目录 透传属性如何禁止“透传属性和事件”多根节点设置透传访问“透传属性和事件” $props、$attrs和$listeners的使用详解 透传属性 透传属性和事件并没有在子组件中用props和emits声明透传属性和事件最常见的如click和class、id、style当子组件只有一个根元素时&#xf…

jOOQ指南中使用的数据库

jOOQ指南中使用的数据库 本指南中使用的数据库将在本节中进行总结和创建 使用Oracle方言来创建 # 创建语言 CREATE TABLE language (id NUMBER(7) NOT NULL PRIMARY KEY,cd CHAR(2) NOT NULL,description VARCHAR2(50) );# 创建作者 CREATE TABLE author (id NUMBER(7) NOT …

mysql:需要准确存储的带小数的数据,要使用DECIMAL类型

需要准确存储的带小数的数据&#xff0c;要使用DECIMAL&#xff0c;特别是涉及金钱类的业务。而不要使用FLOAT或者DOUBLE。 因为DECIMAL是准确值&#xff0c;不会损失精度。 而FLOAT或者DOUBLE是近似值&#xff0c;会损失精度。 https://dev.mysql.com/doc/refman/8.2/en/fixe…

差生文具多系列之最好看的编程字体

&#x1f4e2; 声明&#xff1a; &#x1f344; 大家好&#xff0c;我是风筝 &#x1f30d; 作者主页&#xff1a;【古时的风筝CSDN主页】。 ⚠️ 本文目的为个人学习记录及知识分享。如果有什么不正确、不严谨的地方请及时指正&#xff0c;不胜感激。 直达博主&#xff1a;「…

数据结构 | Floyd

参考博文&#xff1a; floyd算法 弗洛伊德算法 多源最短路径算法_弗洛伊德算法例题-CSDN博客

【文心一言】AI试用写代码体会:delphi、php

一、前言&#xff1a; 二、让【文心一言】编写一个函数 1. Delphi 语言&#xff08;文心一言的回复&#xff09; 2. php 语言&#xff08;文心一言回复&#xff09; 三、总结 一、前言&#xff1a; 众所周知&#xff0c;chatGPT是可以自动编写程序的&#xff0c;甚至可以运…

MyBatis缓存机制流程分析

前言 在进行分析之前&#xff0c;建议快速浏览之前写的理解MyBatis原理、思想&#xff0c;这样更容易阅读、理解本篇内容。 验证一级缓存 MyBatis的缓存有两级&#xff0c;一级缓存默认开启&#xff0c;二级缓存需要手动开启。 重复读取跑缓存 可以看到&#xff0c;第二次…

OpenAI承认GPT-4变懒,即将发布修复方案提升性能

目录 1OpenAI承认GPT-4变懒&#xff0c;即将发布修复方案提升性能 2一文秒懂人工智能全球近况 1OpenAI承认GPT-4变懒&#xff0c;即将发布修复方案提升性能 **划重点:** 1. &#x1f92f; 用户反馈:GPT-4使用者抱怨OpenAI破坏了体验&#xff0c;称模型几乎“害怕”提供答案。…

Wireshark使用技巧

Wireshark作为网络数据软件&#xff0c;功能强大&#xff0c;本专栏介绍仅为冰山一角&#xff0c;仅仅是一个入门级别的介绍&#xff0c;大部分功能还需要在日常工作中进行挖掘。 总结Wireshark软件的使用技巧如下&#xff1a; 1.合理部署Wireshark的位置&#xff0c;从源头保障…

基于Java SSM框架实现电影售票系统项目【项目源码+论文说明】

基于java的SSM框架实现电影售票系统演示 摘要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#…

界面控件DevExpress WPF导航组件,助力升级应用程序用户体验!(下)

DevExpress WPF的Side Navigation&#xff08;侧边导航&#xff09;、TreeView、导航面板组件能帮助开发者在WPF项目中添加Windows样式的资源管理器栏或Outlook NavBar&#xff08;导航栏&#xff09;&#xff0c;DevExpress WPF NavBar和Accordion控件包含了许多开发人员友好的…