PHP 基础常用方法-数组与字符串处理

150 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第27天 点击查看活动详情

前言

前面几天总结了一下ES6的新特性感觉学到了很多的东西,今天想继续学习更多的东西,发现常见的新特性很少了,总结出来也记不住,还不如从自身出发,来总结一些PHP 的一些常见语法。

自己虽然是PHP后端开发,但是从来没有认真去研究PHP的基本语法,都是从项目中去去学习借鉴,然而PHP中自带语法糖最多的,应该是没有之一,所以开发速度非常快,但是其不严谨的隐式转换,弱类型语言会造成些许问题。

第一次总结PHP的常用语法,想说的很多,但是还是从自己最常用的来,增强自己的记忆,查漏补缺。

json字符串与数组转换

json_decode()

解码json字符串。json字符串转换为PHP数组,有四个参数,通常只用两个参数,使用方法:

<?php
$data =  '{"a":1,"b":2}';
$res = json_decode($data,true);
var_dump($res);
?>

效果:

array(2) {
  ["a"]=>
  int(1)
  ["b"]=>
  int(2)
}

最后一个参数一般是要为true,将结果对象转换为数组,数组比较好操作。

json_encode()

编码PHP 数组,将PHP数组转换为json字符串。这个方法一般只用传一个参数,第二个参数也有一定用处,最近会用到,先看下最简单的使用方法:

<?php
$data =  [0=>'1', 1=>'2', 2=>'3'];
$res = json_encode($data);
echo $res;  // ["1", "2", "3"]

第二个参数是一些常量,对一些字符串的一些特殊处理,例如JSON_UNESCAPED_UNICODE 非常常用,字符串中的中文不会被进行unicode编码,会保留中文。

判断字符串是否包含其他字符串

有好几个方法,我自己strpos,因为如果不包含会返回false,包含会返回第一个找到子字符串的位置,这个位置也同样重要,后面可能会用到,有两个参数以第一个为被搜索的字符串,第二个为搜索的字符串:

<?php
$str = 'Crazy KFC';
$status1  = strpos($str, 'KFC');
$status2  = strpos($str, 'V');
var_dump($status1, $status2);

// int(6)
// bool(false)

总结

今天就稍微总结一些数组和字符串中常见的一些方法,PHP自带的语法糖太多,难以统一,自己好多时候这个用一下那个用一下,很多东西都记不住,没有条理,效率很慢,说来惭愧,还有很多东西需要百度,虽然说这些基础的东西一下就能找到答案,突然觉得算法好重要,学算法的时候能很好的打牢这些知识。