PHP字符串与数组处理函数用法小结

yipeiwu_com5年前PHP代码库

本文实例讲述了PHP字符串与数组处理函数用法。分享给大家供大家参考,具体如下:

字符串处理函数

trim --去除字符串首尾的多余空白字符和其他字符

函数结构:

string trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] )

第一个参数是咱要处理的字符串,第二个参数是要排除的字符(默认 \t\n\r\0\x0B)

str_replace --更换子串

函数结构:

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

解释起来太麻烦,我们来看实例:

实例1

$str1 = str_replace('%name%', 'LargerK', 'my name is %name%');
echo $str1;   // 输出 my name is LargerK

实例2

$str1 = str_replace(['s', 'a', 't'], '111', 'this is an apple');
echo $str1;   // 输出 111hi111 i111 111n 111pple

实例3

$str1 = str_replace(["KFC", "可乐", "薯条"], ["披萨", "酥皮汤", "西冷牛排"], '我想吃KFC 点个薯条和可乐');
echo $str1;   // 我想吃披萨 点个西冷牛排和酥皮汤

实例4

$count = 0;
$str1 = str_replace("oo", "~~", "ooop good... so cool", $count);
echo $str1 . "<br />";   // 输出~~op g~~d... so c~~l
echo $count;        // 输出 3

strlen --返回字符串的长度

int strlen ( string $string )

实例:

echo strlen('hello k');   // 7

数组处理函数

array_diff --对比数组,取出差集

array array_diff ( array $array1 , array $array2 [, array $... ] )

说明:拿到第一个数组,跟第二个第三个等做比较,然后返回一个数组。

返回的数组的内容:只存在于第一个数组中,第二个和更多的比对数组中都没有的元素。

实例1

$array1 = ['1', 'name' => 'alex k', 'age' => 24, 'desire' => 'Web developer'];
$array2 = ['title' => 'alex k', 'age' => 23, 'desire' => 'Web developer'];
// 需要注意的是,它只匹配value而忽略key
print_r(array_diff($array1, $array2)); // Array ( [0] => 1 [age] => 24 )

array_slice --从数组中取出一段

array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )
  • 第一个参数:源数组。

  • 第二个参数:从哪里开始取,如果是负数 则从最后一个元素开始算。

  • 第三个参数:取多少 不指定的话默认取所有元素。

  • 第四个参数:默认会把数组的数字索引重置,设置为true则不会改变。

实例1

$array = ['php', 'html', 'css', 'sql', 'laravel'];
$slice1 = array_slice($array, 1);
$slice2 = array_slice($array, -2);
print_r($slice1);  // Array ( [0] => html [1] => css [2] => sql [3] => laravel )
print_r($slice2);  // Array ( [0] => sql [1] => laravel )

实例2

$array = ['php', 'html', 'css', 'sql', 'laravel'];
$slice1 = array_slice($array, 1, 2);
$slice2 = array_slice($array, -2, 1);
print_r($slice1);  // Array ( [0] => html [1] => css )
print_r($slice2);  // Array ( [0] => sql )

实例3

$array = ['php', 'html', 'css', 'sql', 'laravel'];
$slice1 = array_slice($array, 1, -1);
$slice2 = array_slice($array, -3, -1);
print_r($slice1);  // Array ( [0] => html [1] => css [2] => sql )
print_r($slice2);  // Array ( [0] => css [1] => sql )

实例4

$array = ['php', 'html', 'css', 'sql', 'laravel'];
$slice1 = array_slice($array, 1, -1);
$slice2 = array_slice($array, 1, -1, true);
print_r($slice1);  // Array ( [0] => html [1] => css [2] => sql )
print_r($slice2);  // Array ( [1] => html [2] => css [3] => sql )

array_unique --删除数组中重复的值

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
  • 第一个参数:需要过滤的数组。

  • 第二个参数:排序方式,1.SORT_REGULAR - 按照通常方法比较(不修改类型)  2.SORT_NUMERIC - 按照数字形式比较  3.SORT_STRING - 按照字符串形式比较  4.SORT_LOCALE_STRING - 根据当前的本地化设置,按照字符串比较。

实例

$array = ['a' => 'blue', 'yellow', 'b' => 'black', 'blue', 'c' => 'black'];
$result = array_unique($array);
print_r($result);    // Array ( [a] => blue [0] => yellow [b] => black )


相关文章

php5.3提示Function ereg() is deprecated Error问题解决方法

本文实例讲述了php5.3提示Function ereg() is deprecated Error问题解决方法。分享给大家供大家参考。具体实现方法如下: 一、问题: PHP 5.3 e...

php实现比较两个文件夹异同的方法

本文实例讲述了php实现比较两个文件夹异同的方法。分享给大家供大家参考。具体分析如下: 要求: 只能使用命令行,比较两个文件夹的不同,包括文件的差异。 思考: 虽然linux下有di...

php使用parse_url和parse_str解析URL

PHP中有两个方法可以用来解析URL,分别是parse_url和parse_str。 parse_url 解析 URL,返回其组成部分 mixed parse_url ( string...

PHP利用二叉堆实现TopK-算法的方法详解

PHP利用二叉堆实现TopK-算法的方法详解

前言 在以往工作或者面试的时候常会碰到一个问题,如何实现海量TopN,就是在一个非常大的结果集里面快速找到最大的前10或前100个数,同时要保证内存和速度的效率,我们可能第一个想法就是利...

浅谈php://filter的妙用

浅谈php://filter的妙用

php://filter是PHP中独有的协议,利用这个协议可以创造很多“妙用”,本文说几个有意思的点,剩下的大家自己下去体会。本来本文的思路我上半年就准备拿来做XDCTF2016的题目的...