목차
1. PHP의 배열 " > 1. PHP의 배열
(1) PHP의 배열 소개 " > (1) PHP의 배열 소개
二、PHP中的字符串" >二、PHP中的字符串
(一)PHP中的字符串简介" >(一)PHP中的字符串简介
(二)PHP中的常用函数" >(二)PHP中的常用函数
백엔드 개발 PHP 튜토리얼 PHP의 배열과 문자열에 관해 주의할 점

PHP의 배열과 문자열에 관해 주의할 점

Jun 23, 2017 pm 01:18 PM
php 무대 뒤에서 베이스

이번에는 PHP에서 배열과 문자열에 관한 몇 가지 주의사항과 함수(메서드)에 대해 살펴보도록 하겠습니다.

1. PHP의 배열

(1) PHP의 배열 소개

배열 유형은 PHP의 두 가지 복합 데이터 유형 중 하나입니다. 다양한 첨자에 따라 PHP의 배열은 연관 배열인덱스 배열으로 나눌 수 있습니다. 전자는 첨자가 문자열 형식이고 각 첨자 문자열이 배열 값에 일대일로 대응한다는 의미입니다. ; 후자의 첨자 숫자입니다. 이는 JS의 배열 첨자와 동일하지만 일부 규칙에서는 JS와 크게 다릅니다(나중에 설명).

연관 배열과 인덱스 배열의 일부 차이점 및 JS 배열과의 차이점에 대해 다음 5개 항목을 대략적으로 요약할 수 있습니다.

 1 배열에서 인덱스 배열과 연관 배열은 다음과 같습니다. 동시에 존재합니다

array(1,2,3,"four"=>4);

 2. 배열에서 모든 인덱스 배열은 지정되지 않은 경우 관련 항목을 제거하고 다음만큼 증가합니다. 기본값(즉, 연관된 배열이 인덱스 위치를 차지하지 않음) )

 array(1,2,3,"four"=>4,5,6) --> ,3,5,6은 0 1 2 3 4

  3. 연관 배열의 키가 순수 십진 정수 문자열인 경우 이 숫자는 인덱스 배열의 인덱스 값으로 변환됩니다

 array(1 ,2,3,"9"=>4); --> ; 1 2 3 4의 인덱스는 각각 0 1 2 9입니다

 4. 인덱스 배열, 이전 키 또는 첨자와 반복되면 나중에 지정된 값이 이전 값을 덮어씁니다

 array(1,2,"one"=>5,"one"=>6) --> 배열을 1 2 "one"=>6

 5으로 인쇄합니다. 인덱스 배열 첨자를 수동으로 지정하면 이후의 자체 증가 첨자는 이전 첨자의 최대값에 따라 순차적으로 증가합니다.   array(1,2,3,"9"=>4,5); --> ; 1 2 3 4 5 의 인덱스는 0 1 2 9 10

두 번째로 배열을 선언하는 방식입니다. PHP. PHP에서 배열을 선언하는 방법에는 직접 할당 선언, 배열 선언,

[] 선언

이라는 세 가지 방법이 있습니다(예: 다음 코드). 주의할 점은 세 번째 선언 방법은 PHP 5.4 버전 이후에만 추가되었습니다. 사용 시에는 사용 중인 PHP 버전을 먼저 확인해야 합니다. +                                                                                           를 사용하여 배열을 탐색하는 네 가지 주요 방법이 있습니다. 배열을 순회하려면 루프를 사용하고, 배열을 순회하려면 foreach 루프를 사용하고, 배열을 순회하려면 list()를 사용하고, while()을 사용하고, 배열 포인터를 사용하여 배열을 순회합니다. . 자세한 방법 K에 대해서는 다른 블로그 게시물에서 설명할 예정이니 계속 지켜봐 주시기 바랍니다.

마지막으로 PHP 배열과 관련된 여러 가지

슈퍼 글로벌 배열

이 있습니다. 소위 슈퍼전역(superglobal)은 선언 없이 어디에서나 어떤 범위에서든 직접 사용할 수 있는 여러 시스템 배열입니다. 이는 PHP 범위의 변수 범위 제한으로 인해 존재합니다(PHP는 이에 대해 정말 안타깝습니다). 다음 코드 노트는 참조용입니다.

$arr[] = 4;  // 直接赋值声明$arr = [1,2,3,4]; //[]声明 $arr = array(1,2,3,4); //array声明
로그인 후 복사

(2) PHP 배열에서 자주 사용되는 함수

PHP에서 배열의 함수에 대해 이야기할 때, 우선 JS에서 온 동지들에게 상기시켜야 할 점은, PHP 배열의 "함수" PHP의 배열 이 이름은 JS의 배열 "메서드"와 동일하며 둘 다 배열 처리 동작을 나타냅니다

. 이 부분의 함수 내용이 방대하기 때문에 먼저 도움말 문서()를 읽어 보시기를 권합니다. 다음은 K가 PHP의 배열 기능에 대해 기록한 메모입니다. 이를 편집기에 붙여넣어 취소/설정하여 직접 경험할 수 있습니다.

rreee

二、PHP中的字符串

(一)PHP中的字符串简介

      PHP中的字符串是PHP四大基础数据类型之一。

      首先,来跟大家谈一下PHP中字符串的声明方式。PHP中字符串的声明方式有三种,分别是通过""、''、标识符来进行声明(详述可见)。

      其次,来跟大家以代码笔记的形式着重说一下PHP中的各种输出函数,笔记如下。

    /* * 【各种输出函数】
     * 1、echo(纯输出,无返回):直接将内容输出。可以是函数用法,也可以是指令用法;指令用法可以打印多个参数(逗号分割),函数用法只能打印一个参数。
     * 2、print(基本不用):有函数写法与指令写法,但两个都不能传多个参数;有返回值,返回值总是为true。
     * 3、print_r:打印数组和对象时,会用一定的格式显示键和值的匹配。print_r打印数组时,会将数组指针移向最后一位。
     * 4、var_dump:调试专用,显示打印的类型、值等信息,打印数组对象时,会缩进显示键值匹配,可以传入多个参数,同时打印。
     * 5、die:等同于exit,输出信息并且结束当前脚本,可以不输出信息。
     * 6、printf:打印内容并将变量进行格式化输出。第一个参数:需要打印的字符串内容,可以带多个占位符;第二到多个参数:与占位符一一对应的变量。将后面的变量按照占位符的格式要求依次输出。
     * 7、sprintf:使用同printf一样,只不过不是输出语句,而是将转换之后的结果赋给一个变量。
     * 
     * [常用占位符]
        %%    返回百分比符号
        %b    二进制数
        %c    依照ASCII值的字符
        %d    带符号十进制数
        %e        可续计数法(如1.5e3)
        %u    无符号十进制数
        %f或%F     浮点数  
     * -->  浮点数,默认保留六位小数
     * 百分号和f之间可以插入数字表示精确程度。
     * 数子的整数部分,表示精确的总宽度(整数+小数+小数点的总位数)。
     * 数字的小数部分表示保留几位小数,进行四舍五入保留。
     * 如果设置的宽度小于实际宽度,设置无效;如果设置的宽度大于实际宽度,左边空格补位。
     * 例如:$num = 10.12345;
     * printf("123%10.2f",$num);   -->           10.12
     * printf("123%010.2f",$num); -->  0000010.12
        %o    八进制数
        %s    字符串
        %x或%X  十六进制数     */
로그인 후 복사

(二)PHP中的常用函数

      这里,K的建议同上述数组是一样的,同样推荐大家首先阅读帮助文档()。下面,K依然以代码笔记的方式来给同志们介绍一下PHP中的常用函数。

    /* * trim():删除字符串两端的空格;
     * ltrim():删除字符串左端的空格; 
     * rtrim():删除字符串右端的空格; 
     * 
     * 可以传入第二个参数,表示删除两边的相关字符。
     * 从字符串两边开始依次向内查找第二个参数中出现的字符,只要发现就删除,直到遇到第一个没有出现的字符为止。
     * 第二个字符常写为 " \t\n\r\0\x0B",用于把各种空格相关的符号全都删掉。
        " " (ASCII 32 (0x20)),普通空格符。  
        "\t" (ASCII 9 (0x09)),制表符。  
        "\n" (ASCII 10 (0x0A)),换行符。  
        "\r" (ASCII 13 (0x0D)),回车符。  
        "\0" (ASCII 0 (0x00)),空字节符。  
        "\x0B" (ASCII 11 (0x0B)),垂直制表符。
     * 
     * */$str = "  1  2  3  4  ";echo $str."\n";    echo ltrim($str)."\n";echo rtrim($str)."\n";echo trim($str)."\n";echo trim($str," 43")."\n";    /* * str_pad():将字符串填充到指定长度;
     * 参数一:需要填充的字符串,必选。
     * 参数二:需要将字符串填充到多长,必选。
     * --->如果长度小于等于字符串,则不会发生任何作用。
     * 参数三:需要填充的文本,可选。
     * --->默认用空格填充。
     * 参数四:在字符串的哪边填充,可选。
     * --->STR_PAD_BOTH:2
     * --->STR_PAD_LEFT:0
     * --->STR_PAD_RIGHT:1
     * --->默认填充在右边,如果选BOTH,则先从右边开始填。     */ $str1 = "abcd";    echo str_pad($str1, 11,"12",STR_PAD_BOTH);echo str_pad($str1, 11,"12",STR_PAD_LEFT);echo str_pad($str1, 11,"12",STR_PAD_RIGHT);    /* * strtolower():将所有字符转成小写
     * strtoupper():将所有字符转成大写
     * 上述两个常用于不区分大小写比对。
     * 
     * ucfirst():将字符串首字母转成大写
     * ucwords():将字符串每一个词首字母转成大写
     * 后两个只负责转首字母,并不管其他字母的大小写,如果只需要首字母大写,通常配合strtolower()先将字母转成小写。
     * */
    /* 与HTML相关的函数:
     * 1、nl2br():将字符串中的所有换行符,转为<br>
     * 2、htmlspecialchars():将HTML中的符号,转换为实体内容。
     *       & :&amp;        ":&quot;
     *      ':&#039;     <:&lt; 
     *      >:&gt;      空格: 
     * 转成特殊字符后,无需再转回,浏览器会自动解析为对应的标签符号。
     * 3.将字符串中的所有HTML标签删除;
     * 参数1:需要过滤HTML标签的字符串;
     * 参数2:允许存在的HTML标签:strip_tags($str,"<b><s><u>");只允许str这个字符串中,存在<b><s><u>三个标签,其他的全部删除。
     * 
     * *//*【常用字符串函数】
 *1.strrev($str):将字符串翻转;"12345"-->"54321"; 
 *2.strlen($str) :获取字符串字符个数,中文=三个字符
 *mb_strlen($str):测量多字节字符串的长度,不论中英文均算一个长度;
 * {PHP中,很多字符串函数,都有“mb_”的前缀,专门用于操作中文多字节字符串}
 *3.number_format():将一个浮点数,要求格式化为一个字符串。
 *             参数1:需要格式化的浮点数;必选。
 *             参数2:保留几位小数(四舍五入),默认不保留;
 *             参数3:小数点的显示符号,默认为“.”;
 *             参数4:千位符的显示符号:默认为“,”;
 *4.md5()/sha1():分别使用md5加密算法以及sha1加密算法对字符串进行加密操作;
 * */$str="abcdefg哈哈哈";//一个汉字三个字符,一个字符一个字符翻转;echo strrev($str);echo "<br/>";echo strlen($str);//字符串长度16echo "<br/>";echo mb_strlen($str);//字符串长度10echo "<br/>";echo number_format(12399.4567,4,"/","-");echo "<br/>";echo md5($str);echo "<br/>";echo sha1($str);echo "<br/>";echo sha1($str)=="527e8bad76c863b8903c51f7eedad006678d5f96";/*【字符串的比较】
 * 1.可以用比较运算符比较:
 * < > ==:如果两边都是字符串,则比较首字母ASCII值,
 *        如果一边是数字,则将字符串转为数字后再比对!
 *(重要) 2.strcmp("$str1","$str2"):比较两个字符串,区分大小写;$str1>$str2-->1;$str1<$str2-->-1  $str1==$str2-->0
 * 3.strncmp("$str1","$str2",int):比较方式与strcmp完全相同,只是多了一个必填的参数3,表示比较字符串的长度,strncmp("Asdsa", "adsa",2),只比较前两个字符串的前两个字符,如果比较汉字字符串,一个汉字占三个字符;
 *(重要) 4.strcasecmp ("$str1","$str2")比较全串字符串,不区分大小写;
 * 5.strnatcmp ("$str1","$str2"):将字符串按照自然排序算法进行排序比对;
 *   strnatcmp ("10","2"):10>2,返回1;
 *   strcmp("10", "2"):按照ASCII排序,1<2,返回-1;两者相等时都=0,没有任何差别。
 *6. similar_text():返回两个字符串的相似度(两个字符串匹配字符的数目);
 * */
 var_dump("a"<1);//"a"-->0;
 var_dump(strcmp("A", "a"));//-1
 var_dump(strcmp("5", "5"));//0
 var_dump(strncmp("Aaer", "Aacc",2));//0
 var_dump(strncmp("张与", "张三",2));//0
 var_dump(strcasecmp ("abcd","ABCD"));//0
 var_dump(strnatcmp ("i10","i2"));//1
 var_dump(similar_text("123","234"));//相同字符的长度
 /*【常用字符串操作函数】
  * 1.explode():使用指定分隔符,将字符串分隔为数组;
  *  参数1:使用什么分隔符;
  *  参数2:需要分隔的字符串;
  *  参数3:可选,将字符串最多分为几份,如果小于实际分数,则前n-1正常分,最后一个包含所有剩余字符串。
  * 2.preg_split():通过一个正则表达式分隔字符串,参数同上,第一个参数为正则表达式
  * 3.var_dump(str_split("hahah",2))--->["ha","ha","h"]
  * */
 var_dump(explode(",","s,t,y,u",3)); var_dump(preg_split("/[\s,]+/","asdh adcjk, asjdi")); 
 var_dump(str_split("hahah",2)); var_dump(mb_split("/[\w]{1}+/","sdsd,t,h"));//不好使
 /*
  * 3.implode() : 将一个一维数组的值转化为字符串
  * 4.substr():截取的字符串;
  *   第一个参数:需要截取的字符串;
  *   第二个参数:从哪个字符开始截取;
  *   第三个参数:需要截取的字符串长度(默认截取到最后)
  * 5.mb_substr():用于截取中文字符串,一个汉字=1个字符;
  *(重要)strstr():别名strchr():查找并返回字符串,是否包含某个子串,如果没有找到返回false
  *   参数1:被查找的字符串,必选;
  *   参数2:需要查找的子串,必选;
  *   参数3:true/false:返回子串前面的部分;返回子串及子串的所有字符串,默认;
  * 6.stristr():功能同上,不区分大小写,
  * 7.strrchr():取到需查找字符在字符串中最后一次出现的位置;
  * 第一个参数:被查找的字符串;
  * 第二个参数:需要查找的字符,如果第二个参数是字符串,则会使用字符串的第一个字符,如果找到,返回该字符串最后一次出现的位置,往后的部分。
  * */
  var_dump(implode("-",["a","b","c"]));//--->"a-b-c";
  var_dump(substr("12345", 2,3));  var_dump(mb_substr("1234哈哈", 2,4));  var_dump(strstr("1234", "23",true));  var_dump(stristr("123哈哈4", "哈",true)); var_dump(strrchr("ABC123ABC456","AdBC")); /* 【字符串查找】
  * 1.strpos() : 返回某个字符串,查找字符串首次出现的位置;
  *   参数1:被查找的字符串;
  *   参数2:需要查找的子串;
  *   参数3:从第几个位置开始查找;
  * 2.strrpos():返回某个字符串,查找字符串最后出现的位置;
  * 3.stripos():不区分大小写。返回第一次出现的位置;
  * 4.strripos():不区分大小写。返回最后一次出现的位置;
  * */
 var_dump(strpos("123AxhBzABC","ABC",1));//8
 var_dump(strripos("123AxhBzABC","abc"));//8
 var_dump(strrpos("123AxhBzABC","ABC",1));//8
 var_dump(stripos("123AxhBzABC","abc",1));//8
 /*【字符串替换】
  * str_replace():将字符串中指定的部分用指定内容替换;
  *    参数1:被替换部分,可以是数组也可以是字符串;
  *    参数2:新内容,可以是数组也可以是字符串;
  *    参数3:原字符串;
  * 共分为三类:1.第一个字符串,第二个字符串;
  *          2.第一个数组,第二个数组:将两个数组一一进行映射替换;
  * ①两个数组长度相等;将两个数组一一进行映射替换;
  * ②第一个数组>第二个数组:第一个数组剩余部分用“”替换(即删了);
  * ③第一个数组<第二个数组:第二个数组剩余的部分不用;
  *          3.第一个数组,第二个字符串:数组的每一个都替换为字符串;
  * */
  var_dump(str_replace("e",",","jasbdheead"));  var_dump(str_replace(["e","a","d"],",","jasbdheead"));  var_dump(str_replace(["e","a","d"],[",","/",""],"jasbdheead"));  var_dump(str_replace(["e","a","d"],[",","/"],"jasbdheead"));  var_dump(str_replace(["e","a"],[",","/","-"],"jasbdheead"));  var_dump(str_replace(["e","a","d"],"/","jasbdheead"));
로그인 후 복사

위 내용은 PHP의 배열과 문자열에 관해 주의할 점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

파일 업로드 작업을 위해 양식 도우미를 사용할 것입니다. 다음은 파일 업로드의 예입니다.

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? Feb 07, 2025 am 11:57 AM

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. Apr 05, 2025 am 12:04 AM

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

문자열로 모음을 계산하는 PHP 프로그램 문자열로 모음을 계산하는 PHP 프로그램 Feb 07, 2025 pm 12:12 PM

문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다

See all articles