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.pswp.cn/news/215578.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215578.shtml
英文地址,請注明出處:http://en.pswp.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控件包含了許多開發人員友好的…