2020-10-28
PHP字符串与数组处理函数用法小结

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 ) 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。...
技术教程 1220次浏览 0条评论
2020-10-28
php将字符串转换为数组实例讲解

php将字符串转换为数组实例讲解

php将字符串转换为数组 在php中通过使用“explode函数”,将字符串转换为数组,该函数的用法为“explode(delimiter,string)”,其参数delimiter表示为边界上的分隔字符,参数string表示为输入的字符串。 explode说明 explode ( string $delimiter , string $string [, int $limit ] ) : array 此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。 explode参数 delimiter: 边界上的分隔字符。 string: 输入的字符串。 limit: 如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。 如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。 如果 limit 是 0,则会被当做 1。 由于历史原因,虽然 implode() 可以接收两种参数顺序,但是 explode() 不行。你必须保证 separator 参数在 string 参数之前才行。 返回值 此函数返回由字符串组成的 array,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。 如果 delimiter 为空字符串(""),explode() 将返回 FALSE。 如果 delimiter 所包含的值在 string 中找不到,并且使用了负数的 limit , 那么会返回空的 array, 否则返回包含 string 单个元素的数组。 实例代码: <?php $array = array('lastname', 'email', 'phone'); $comma_separated = implode(",", $array); echo $comma_separated; // lastname,email,phone // Empty string when using an empty array: var_dump(implode('hello', array())); // string(0) "" ?> <?php // 示例 1 $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0]; // piece1 echo $pieces[1]; // piece2 // 示例 2 $data = "foo:*:1023:1000::/home/foo:/bin/sh"; list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data); echo $user; // foo echo $pass; // * ?> 到此这篇关于php将字符串转换为数组实例讲解的文章就介绍到这了,更多相关php将字符串转换为数组内容请搜索梦主博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持梦主博客!...
技术教程 1360次浏览 0条评论
2020-10-28
php变量与字符串的增删改查操作示例

php变量与字符串的增删改查操作示例

本文实例讲述了php变量与字符串的增删改查操作。分享给大家供大家参考,具体如下: 变量的使用 <?php //告诉浏览器以什么编码方式解析什么类型的文档,防止中文乱码 header("Content-type: text/html; charset=utf-8"); // 整型的例子 // 声明整型 $var=123; // 输出一个或者多个字符串 echo $var; //但因变量的详细信息,可以一次打印一个或者多个变量的详细信息 // H:\dev\wamp64\www\demo1\5-test.php:9:int 123 var_dump($var); // 声明八进制整数 $var=0123; echo $var; var_dump($var); // 声明十六进制整数 $var=0xff00; echo $var; var_dump($var); // 一次声明多个参数,并且赋值相同 $a=$b=$c=123; // 多个参数打印 var_dump($a,$b,$c); // 浮点型有误差 $float=12.3; var_dump($float); // 科学计数法 $float=2e3;//2 乘以10的三次方2000 var_dump($float); $float=2E-2;//2的-10次方0.02 var_dump($float); // 布尔类型 $bool1=true; $bool2=TRUE; $bool3=false; $bool4=FALSE; var_dump($bool1,$bool2,$bool3,$bool4); // if语句 $dream=true; if($dream){ echo "那么我就再北京三环买一套房子"; }else { echo "老实写代码"; } // 字符串类型 // 字符串要写到定界符当中 // 单引号,双引号,heredoc nowdoc $username='king'; $email="[email protected]"; $string='';//空字符串 var_dump($username,$email,$string); //s echo $username,'<br/>双引号解析变量:->'; echo "$username"; echo "<br> 单引号不解析变量:所以效率更高一点->"; echo '$username'; // He Said "I'm Fine // 如果内容和定界符有冲突 要使用转义符\ echo "<br/>"; $str="He Said \"I'm Fine"; echo "$str"; //单引号只解析\' \\两个转义符 $str='1\n1\t1\1\r1\\1\'1\$111111111111111111'; echo $str; echo "<br/>"; //双引号解析所有的转义符 $str="1\n1\t1\1\r1\\1\'1\$111111111111111111"; echo $str; echo "<hr/>"; $var=123; //$var的值为123 echo '$var 的值为$var'; echo "<br/>"; echo "\$var 的值为$var"; echo "<hr/>"; $username='king'; //php 殷勤在解析变量的时候会尽肯能多的向后取合法字符 认为取的越多 含义越明确 //echo "名称$username是我"; echo "名称$username 是我"; //花括号 php变量中的变量括成一个整体图 echo "名称${username}是我"; echo "名称{$username}是我"; //可以对字符串中的指定字符做增删改查的操作 字符串操作 <?php //对于字符串中的指定字符串做增删改插操作 $string='abcdef'; //查找 echo $string{0}; echo $string{2}; echo $string{5}; //修改 //注意,修改的时候只能一对一 $string{1}='z'; echo " <br/>"; echo $string; $string{4}='!'; echo " <br/>"; echo $string; echo "<hr/>"; $string='abc'; $string{0}="Hello "; echo "$string"; echo "<hr/>"; $string='你好'; var_dump($string);//:string '你好' (length=6) echo "<hr/>"; //删除 $string='abcef'; $string{2}=''; echo "$string"; echo "<hr/>"; $string{0}=''; echo "$string"; //添加字符 echo "<br/>"; $string='abc'; $string{3}='d'; echo "$string"; echo "<br/>"; $string='abc'; $string{5}='e'; echo "$string"; echo "<br/>"; var_dump($string);//string 'abc e' (length=6) /* $string='king'; 1.输出首字母 2。将字符串中n变成o 3.将字符串中的i删除掉 4.再字符串末尾添加一个叹号 */ echo "<br/>"; $string='king'; echo "1.输出首字母:{$string{0}}"; $string{2}='o'; echo "<br/>"; echo "将字符串中n变成o:$string"; echo "<br/>"; $string{1}=''; echo "将字符串中的i删除掉 $string"; $string{4}='!'; echo "<br/>"; echo "将再字符串末尾添加一个叹号 $string"; var_dump($string); 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。...
技术教程 1290次浏览 0条评论
2020-10-28
PHP数组与字符串互相转换实例

PHP数组与字符串互相转换实例

PHP 数组转字符串,与字符串转数组 <?php $array = array('lastname', 'email', 'phone'); $comma_separated = implode(",", $array); echo $comma_separated; // lastname,email,phone // Empty string when using an empty array: var_dump(implode('hello', array())); // string(0) "" ?> explode — 使用一个字符串分割另一个字符串,返回一个数组 <?php // 示例 1 $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0]; // piece1 echo $pieces[1]; // piece2 // 示例 2 $data = "foo:*:1023:1000::/home/foo:/bin/sh"; list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data); echo $user; // foo echo $pass; // * ?> 这里如果字符串没有任何符号可以进行分割的话,就需要考虑别的方法了 str_split — 将字符串转换为数组 <?php $str = "Hello Friend"; $arr1 = str_split($str); $arr2 = str_split($str, 3); print_r($arr1); print_r($arr2); ?> 输出结果 Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] => F [7] => r [8] => i [9] => e [10] => n [11] => d ) Array ( [0] => Hel [1] => lo [2] => Fri [3] => end ) 如果不兼容的话,就只有考虑别的方法了,将字符串逐位进行打断, 这里有一个将字符串进行打断的手动的方法,是原来为了写日语半角的假名验证的一个方法 这里是一串对半角的假名的枚举 function kana_Perl($katakana){ $katakana_array = array( 1=>"ア",2=>"イ",3=>"ウ",4=>"エ",5=>"オ", 6=>"カ",7=>"キ",8=>"ク",9=>"ケ",10=>"コ", 11=>"サ",12=>"シ",13=>"ス",14=>"セ",15=>"ソ", 16=>"タ",17=>"チ",18=>"ツ",19=>"テ",20=>"ト", 21=>"ナ",22=>"ニ",23=>"ヌ",24=>"ネ",25=>"ノ", 26=>"ハ",27=>"ヒ",28=>"フ",29=>"ヘ",30=>"ホ", 31=>"マ",32=>"ミ",33=>"ム",34=>"メ",35=>"モ", 36=>"ヤ",37=>"ユ",38=>"ヨ", 39=>"ラ",40=>"リ",41=>"ル",42=>"レ",43=>"ロ", 44=>"ワ",45=>"ヲ",46=>"ン", 47=>"ァ",48=>"ィ",49=>"ゥ",50=>"ェ",51=>"ォ", 52=>"ャ",53=>"ュ",54=>"ョ",55=>"ッ",56=>"、", 57=>"。",58=>"ー",59=>"゙",60=>"゚" ); $check_result = array_search($katakana,$katakana_array); return $check_result; } 这是一段匹配的法则,注意这里是i +=2,因为一个文字占2位 function substr_cut($katakana){ $i_end = 2; $check_sucess = ""; for($i_start=0; $i_start < strlen($katakana); $i_start=$i_start+2){ $str_cut = substr($katakana,$i_start,$i_end); echo '$str_cut='.$str_cut.'<br>'; $check_sucess = kana_Perl($str_cut); if(!$check_sucess){ break; } } return $check_sucess; } 没有规律的数组转化为字符串 function substr_cut($katakana){ $i_end = 1; //打断位数长度,分清楚英文和中文 $check_sucess = array(); for($i_start=0; $i_start < strlen($katakana); $i_start=$i_start+1){ $str_cut = substr($katakana,$i_start,$i_end); $check_sucess[$i_start] = $str_cut; echo '$str_cut='.$str_cut.'<br>'; } return $check_sucess; } 内容扩展: 使用和理解这两个函数的关键之处是分隔符(separator)和胶合符(glue)关系。当把一个数组转换成一个字符串时,将会设置胶合符——将被插入到生成字符串中的数组值之间的字符或代码。 相反,当把字符串转换成数组时,要指定分隔符,它用于标记什么应该变成独立数组元素。例如,以字符串开始: $s1='Mon-Tue-Wed-Thu-Fri'; $days_array=explode('-',$s1); $days_array 变量现在是一个有5个元素的数组,其元素 Mon 的索引为0,Tue 的索引为1,等等。 $s2=implode(',',$days_array); $s2 变量现在是一个用逗号分隔的一个星期中各天的列表:Mon,Tue,Wed,Thu,Fri 到此这篇关于PHP数组与字符串互相转换实例的文章就介绍到这了,更多相关PHP数组与字符串转换内容请搜索梦主博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持梦主博客!...
技术教程 1440次浏览 0条评论
2020-10-27
PHP字符串和十六进制如何实现互相转换

PHP字符串和十六进制如何实现互相转换

今天在做项目中,因为要调用别人网站的接口,结果需要对请求和返回的时间进行十六进制加密处理,于是在网上查了下资料谢了一个转换Demo做个记录。 如果在TP下使用可以将下面函数放到common.php中 一,加密函数 <?php /** *字符串转十六进制函数 [email protected] string $str='abc'; */ function strToHex($str) { $hex = ""; for ($i = 0;$i < strlen($str);$i++) $hex.= dechex(ord($str[$i])); $hex = strtoupper($hex); return $hex; } ?> 二、解密函数 <?php /** *十六进制转字符串函数 [email protected] string $hex='616263'; */ function hexToStr($hex) { $str = ""; for ($i = 0;$i < strlen($hex) - 1;$i+= 2) $str.= chr(hexdec($hex[$i] . $hex[$i + 1])); return $str; } ?> 加密 解密 转换 函数使用Demo事例,这里为了方便写在了一个类中。 <?php class Test { /** *字符串转十六进制函数 [email protected] string $str='abc'; */ public function strToHex($str) { $hex = ""; for ($i = 0;$i < strlen($str);$i++) $hex.= dechex(ord($str[$i])); $hex = strtoupper($hex); return $hex; } /** *十六进制转字符串函数 [email protected] string $hex='616263'; */ public function hexToStr($hex) { $str = ""; for ($i = 0;$i < strlen($hex) - 1;$i+= 2) $str.= chr(hexdec($hex[$i] . $hex[$i + 1])); return $str; } } < spanstyle = "white-space:pre" > < / span > //测试Demo效果 $test = new Test(); $str = '要加密的内容sxfenglei'; $data = $test->strToHex($str); echo '加密内容:要加密的内容sxfenglei <br>' . $data . '<hr>'; $output = $test->hexToStr($data); echo '解密内容:E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569 <br>' . $output; ?> 运行结果: 加密内容:要加密的内容sxfenglei E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569 解密内容:E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569 要加密的内容sxfenglei 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持梦主博客。...
技术教程 1650次浏览 0条评论
微信二维码