찾다
백엔드 개발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中的符号,转换为实体内容。
     *       & :&        ":"
     *      ':'     <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-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排序,10;
 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.第一个数组,第二个数组:将两个数组一一进行映射替换;
  * ①两个数组长度相等;将两个数组一一进行映射替换;
  * ②第一个数组>第二个数组:第一个数组剩余部分用“”替换(即删了);
  * ③第一个数组</u></s></b></u></s>

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

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

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP와 Python : 그들의 역사에 깊은 다이빙PHP와 Python : 그들의 역사에 깊은 다이빙Apr 18, 2025 am 12:25 AM

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

PHP와 Python 중에서 선택 : 가이드PHP와 Python 중에서 선택 : 가이드Apr 18, 2025 am 12:24 AM

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

PHP 및 프레임 워크 : 언어 현대화PHP 및 프레임 워크 : 언어 현대화Apr 18, 2025 am 12:14 AM

PHP는 현대화 프로세스에서 많은 웹 사이트 및 응용 프로그램을 지원하고 프레임 워크를 통해 개발 요구에 적응하기 때문에 여전히 중요합니다. 1.PHP7은 성능을 향상시키고 새로운 기능을 소개합니다. 2. Laravel, Symfony 및 Codeigniter와 같은 현대 프레임 워크는 개발을 단순화하고 코드 품질을 향상시킵니다. 3. 성능 최적화 및 모범 사례는 응용 프로그램 효율성을 더욱 향상시킵니다.

PHP의 영향 : 웹 개발 및 그 이상PHP의 영향 : 웹 개발 및 그 이상Apr 18, 2025 am 12:10 AM

phphassignificallyimpactedwebdevelopmentandextendsbeyondit

스칼라 유형, 반환 유형, 노조 유형 및 무효 유형을 포함한 PHP 유형의 힌트 작업은 어떻게 작동합니까?스칼라 유형, 반환 유형, 노조 유형 및 무효 유형을 포함한 PHP 유형의 힌트 작업은 어떻게 작동합니까?Apr 17, 2025 am 12:25 AM

PHP 유형은 코드 품질과 가독성을 향상시키기위한 프롬프트입니다. 1) 스칼라 유형 팁 : PHP7.0이므로 int, float 등과 같은 기능 매개 변수에 기본 데이터 유형을 지정할 수 있습니다. 2) 반환 유형 프롬프트 : 기능 반환 값 유형의 일관성을 확인하십시오. 3) Union 유형 프롬프트 : PHP8.0이므로 기능 매개 변수 또는 반환 값에 여러 유형을 지정할 수 있습니다. 4) Nullable 유형 프롬프트 : NULL 값을 포함하고 널 값을 반환 할 수있는 기능을 포함 할 수 있습니다.

PHP는 객체 클로닝 (클론 키워드) 및 __clone 마법 방법을 어떻게 처리합니까?PHP는 객체 클로닝 (클론 키워드) 및 __clone 마법 방법을 어떻게 처리합니까?Apr 17, 2025 am 12:24 AM

PHP에서는 클론 키워드를 사용하여 객체 사본을 만들고 \ _ \ _ Clone Magic 메소드를 통해 클로닝 동작을 사용자 정의하십시오. 1. 복제 키워드를 사용하여 얕은 사본을 만들어 객체의 속성을 복제하지만 객체의 속성은 아닙니다. 2. \ _ \ _ 클론 방법은 얕은 복사 문제를 피하기 위해 중첩 된 물체를 깊이 복사 할 수 있습니다. 3. 복제의 순환 참조 및 성능 문제를 피하고 클로닝 작업을 최적화하여 효율성을 향상시키기 위해주의를 기울이십시오.

PHP vs. Python : 사용 사례 및 응용 프로그램PHP vs. Python : 사용 사례 및 응용 프로그램Apr 17, 2025 am 12:23 AM

PHP는 웹 개발 및 컨텐츠 관리 시스템에 적합하며 Python은 데이터 과학, 기계 학습 및 자동화 스크립트에 적합합니다. 1.PHP는 빠르고 확장 가능한 웹 사이트 및 응용 프로그램을 구축하는 데 잘 작동하며 WordPress와 같은 CMS에서 일반적으로 사용됩니다. 2. Python은 Numpy 및 Tensorflow와 같은 풍부한 라이브러리를 통해 데이터 과학 및 기계 학습 분야에서 뛰어난 공연을했습니다.

See all articles

핫 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를 무료로 생성하십시오.

뜨거운 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

메모장++7.3.1

메모장++7.3.1

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

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.