PHP基础学习笔记(常用函数)

字符串

strlen — 获取字符串长度

<?php
$str = 'abcdef';
echo strlen($str); // 6$str = ' ab cd ';
echo strlen($str); // 7
//strlen() 返回的是字符串的字节数,而不是其中字符的数量。
?>

strpos — 查找字符串首次出现的位置

$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);
echo $pos; //0// 忽视位置偏移量之前的字符进行查找
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, 不是 0
echo $pos; //7

str_replace — 子字符串替换

$bodytag = str_replace("%body%", "black", "<body text='%body%'>");
echo $bodytag; //<body text='black'>$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
echo $onlyconsonants; //Hll Wrld f PHP$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy   = array("pizza", "beer", "ice cream");
$newphrase = str_replace($healthy, $yummy, $phrase);
echo $newphrase; //You should eat pizza, beer, and ice cream every day.$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;//2$str     = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order   = array("\r\n", "\n", "\r");
$replace = '<br />';
$newstr = str_replace($order, $replace, $str);
echo $newstr;//Line 1<br />Line 2<br />Line 3<br />Line 4<br />// 输出 F ,因为 A 被 B 替换,B 又被 C 替换,以此类推...
// 由于从左到右依次替换,最终 E 被 F 替换
$search  = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);//F$letters = array('a', 'p');
$fruit   = array('apple', 'pear');
$text    = 'a p';
$output  = str_replace($letters, $fruit, $text);
echo $output; //apearpearle pear

数组

count — 统计数组、Countable 对象中所有元素的数量

<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
var_dump(count($a));//int(3)
$b[0]  = 7;
$b[5]  = 9;
$b[10] = 11;
var_dump(count($b));//int(3)
?>
<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),'veggie' => array('carrot', 'collard', 'pea'));
// 递归计数
var_dump(count($food, COUNT_RECURSIVE)); //int(8)
// 常规计数
var_dump(count($food)); //int(2)
?>

explode — 使用一个字符串分割另一个字符串(字符串转数组)

<?php
// 示例 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2// 示例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // */*字符串内不包含分隔字符时,会简单返回只有一个原始字符串元素的 array。
*/
$input1 = "hello";
$input2 = "hello,there";
$input3 = ',';
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );
var_dump( explode( ',', $input3 ) );$str = 'one|two|three|four';// 正数的 limit
print_r(explode('|', $str, 1)); //Array([0] => one|two|three|four)
print_r(explode('|', $str, 2)); //Array([0] => one [1] => two|three|four)// 负数的 limit
print_r(explode('|', $str, -1)); //Array([0] => one [1] => two [2] => three)
print_r(explode('|', $str, -2)); //Array([0] => one [1] => two)
?>

implode — 用字符串连接数组元素(数组转字符串)

<?php$array = ['lastname', 'email', 'phone'];
var_dump(implode(",", $array)); // string(20) "lastname,email,phone"// Empty string when using an empty array:
var_dump(implode('hello', [])); // string(0) ""// The separator is optional:
var_dump(implode(['a', 'b', 'c'])); // string(3) "abc"?>

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

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

相关文章

051、Python 快速把多个元素连接成一个字符串的方法

要想快速地将列表或元组中的元素连接成一个字符串&#xff0c;有一个特别实用地方法&#xff1a;join() 方法。 join() 方法&#xff1a;一个用于将序列中的元素以指定的分隔符连接成一个字符串的方法&#xff0c;这个方法通常用于字符串操作。 基本语法&#xff1a; separa…

在windows操作系统上安装MariaDB

最近收到关于数据库在哪里看的评论&#xff0c;所以就一不做二不休&#xff0c;把安装数据库的步骤写一篇文章吧。 这篇文章介绍如何在windows上完成MariaDB-10.6.5版本的安装&#xff0c;对应MySQL-8.x版本。 第一步&#xff1a;下载安装包 通过以下网盘链接下载MariaDB-10.6…

Spark入门:KMeans聚类算法

聚类&#xff08;Clustering&#xff09; 是机器学习中一类重要的方法。其主要思想使用样本的不同特征属性&#xff0c;根据某一给定的相似度度量方式&#xff08;如欧式距离&#xff09;找到相似的样本&#xff0c;并根据距离将样本划分成不同的组。聚类属于典型的无监督学习&…

国产信创CPU之飞腾CPU剖析

CPU&#xff1a;信创根基&#xff0c;国之重器 国产CPU已形成自主架构、x86、ARM三大阵营。自主阵营中&#xff0c;龙芯、申威分别基于MIPS和Alpha推出loong ISA和SW-64。ARM阵营以鲲鹏、飞腾为代表&#xff0c;利用ARM IP授权开发处理器。x86阵营由海光、兆芯等主导&#xff…

【Linux】操作系统中的文件系统管理:磁盘结构、逻辑存储与文件访问机制

文章目录 前言&#xff1a;1. 磁盘机械结构2. 磁盘物理结构3. 磁盘的逻辑存储3. 1. 文件名呢&#xff1f;3.2 对文件的增删查改与 路径3.3. 文件 4. 软硬链接4.1. 操作观察现象4.2. 软硬链接的原理4.3. 软硬链接的应用场景 总结 前言&#xff1a; 在现代操作系统中&#xff0c…

day27-完全平方数(背包问题)

题目描述 给你一个整数 n &#xff0c;返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数&#xff0c;其值等于另一个整数的平方&#xff1b;换句话说&#xff0c;其值等于一个整数自乘的积。例如&#xff0c;1、4、9 和 16 都是完全平方数&#xff0c;而 3 和 1…

基于人工智能的运输路径规划系统

基于人工智能的运输路径规划系统是现代物流领域中一项重要的技术应用&#xff0c;该系统通过集成先进的人工智能算法和数据分析技术&#xff0c;为运输行业提供了更为高效、准确的路径规划服务。以下是关于该系统的详细介绍&#xff1a; 一、系统概述 基于人工智能的运输路径…

Python基础:在多个.py文件组成的项目中如何安全的使用文件路径(绝对路径安全,相对路径可移植性好,如何选?)

在Python项目中使用相对路径时,路径的计算是基于当前执行脚本的位置,即当前工作目录(Current Working Directory, CWD)。这通常是你从中启动Python解释器的目录。这种方式在简单脚本或当你直接从命令行运行单个脚本文件时行得通,但在较大的项目或多层目录结构中可能导致路…

Flutter 中的 PopupMenuTheme 小部件:全面指南

Flutter 中的 PopupMenuTheme 小部件&#xff1a;全面指南 Flutter 是一个由 Google 开发的跨平台 UI 框架&#xff0c;它允许开发者使用 Dart 语言构建美观、响应式的移动、Web 和桌面应用。Flutter 的 Material 组件库中包含了丰富的 UI 组件&#xff0c;其中 PopupMenuButt…

基于Springboot+vue实现的汽车服务管理系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;spring…

《effective c++》学习笔记一

从今天开始看《effective c》这本书&#xff0c;把学到的东西当做笔记记下来&#xff0c;算是督促自己学习吧&#xff0c;也算是和大家一起分享一点东西&#xff0c;理解不当的地方&#xff0c;请谅解。&#xff08;每天更新三个条款&#xff09;。 条款1&#xff1a;视C为一个…

外贸如何让新客户返单以及转介绍?

要让外贸新客户返单以及转介绍&#xff0c;关键在于提供卓越的服务、建立信任和维护良好的客户关系。以下方法可以借鉴&#xff1a; 1. 提供优质的产品和服务 - 产品质量保证&#xff1a;确保产品质量始终符合或超过客户预期。 - 定制服务&#xff1a;根据客户需求提供个性化…

45.自定义线程池(三)-拒绝策略

拒绝策略采用函数式接口参数传入&#xff0c;策略模式 FunctionalInterface public interface RejectPolicy<T> {void reject(BlockingQueue<T> queue, T task); } package com.xkj.thread.pool;import com.aspose.words.Run; import lombok.extern.slf4j.Slf4j;…

Flutter 中的 ButtonBarTheme 小部件:全面指南

Flutter 中的 ButtonBarTheme 小部件&#xff1a;全面指南 Flutter 是一个由 Google 开发的跨平台 UI 框架&#xff0c;它提供了丰富的组件来帮助开发者构建高性能、美观的应用。在 Flutter 的 Material 组件库中&#xff0c;ButtonBar 是一个用于展示按钮集合的组件&#xff…

java多线程之synchronized详解

锁的内存语义 锁可以让临界区互斥执行&#xff0c;还可以让释放锁的线程向同一个锁的线程发送消息锁的释放要遵循Happens-before原则&#xff08;锁规则&#xff1a;解锁必然发生在最后的加锁之前&#xff09;锁在java中的具体表现时Synchronized和Lock 复现步骤 通过gradle…

SaaS 电商设计 (十一) 那些高并发电商系统的限流方案设计

目录 一.什么是限流二.怎么做限流呢2.1 有哪些常见的系统限流算法2.1.1 固定窗口2.1.1 滑动窗口2.1.2 令牌桶2.1.3 漏桶算法 2.2 常见的限流方式2.2.1 单机限流&集群限流2.2.2 前置限流&后置限流 2.3 实际落地是怎么做的2.3.1 流量链路2.3.2 各链路限流2.3.2.1 网关层2…

Spring Boot(七十七):SpringBoot实现接口内容协商功能

1 什么是内容协商 简单说就是服务提供方根据客户端所支持的格式来返回对应的报文,在 Spring 中,REST API 基本上都是以 json 格式进行返回,而如果需要一个接口即支持 json,又支持其他格式,开发和维护多套代码显然是不合理的,而 Spring 又恰好提供了该功能,那便是Conten…

重学java 56. Map集合

我们要拥有一定成功的信念 —— 24.6.3 一、双列集合的集合框架 HashMap 1.特点: a.key唯一,value可重复 b.无序 c.无索引 d.线程不安全 e.可以存null键,null值 2.数据结构:哈希表 LinkedHashMap&#xff08;继承HashMap&#xff09; 1.特点: a.key唯一,value可重复 b.有序 c.无…

Spring All系列教程学习下

SpringAll SpringAll对应的博客 java-developer-document - 别人的学习笔记 Spring All系列教程 该仓库为个人博客https://mrbird.cc中Spring系列源码&#xff0c;包含Spring Boot、Spring Boot & Shiro、Spring Cloud&#xff0c;Spring Boot & Spring Security &a…

前端 JS 经典:LRU 缓存算法

前言&#xff1a;什么是 LRU 呢&#xff0c;单词全拼 Least Recently Used&#xff0c;意思是最久未使用。这个算法是做缓存用的&#xff0c;比如&#xff0c;你要缓存一组数据&#xff0c;你要划分缓存块出来&#xff0c;因为不可能每个数据都做缓存&#xff0c;那么划出来的这…