一、函数讲解

1、explode()函数  把字符串打散为数组:

2、implode()函数 把数组元素组合为字符串:

(详细讲解见下文 三)

例如:

<?php$str = '107_lab_2017';$array=explode('_', $str);//以下划线为分隔符将字符串打散为数组 print_r($array);echo implode('_', $array);//以下划线为分隔符将数组合并成字符串
?>

执行结果为:

Array
  (
  [0] => 107
  [1] => lab
  [2] => 2017
  )
  107_lab_2017

二、实战用法

在实际项目中,例如添加好友和关注等用来保存好友和关注的人的id

比如 id为1的用户添加了id为2, 3, 4, 5, 6这5个用户为好友。可以在用户表中加一个friends字段 (为防止因好友过多导致超出字段长度限制 这里直接给friends一个text类型),

id为1用户的好友可以字符串2_3_4_5_6的形式保存在friends字段中


如果需要判断id为1的用户是否添加过id为num(Ps:num代表一个数字,为某个用户的id)的用户为好友 可以从数据库中取出friends字段将其打散为数组判断num是否在数组中。

例如:

<?php$con = mysqli_connect('localhost', 'root', '123456', 'tdbank');if(mysqli_connect_errno($con)){die('Could not connect:'.mysqli_error());}$sql = 'SELECT friends from users WHERE id=1';$result = mysqli_query($con, $sql);$row = mysqli_fetch_assoc($result);$id_array=explode('_', $row['friends']);if(!isset($_GET['id']) || !is_numeric($_GET['id'])){echo '用户不存在';exit;}//判断是否已经添加过id为$_GET['id']的用户为好友if(in_array($_GET['id'], $id_array)){echo '你们已经是好友了';}else{$friends = empty($row['friends'])?$_GET['id']:$row['friends'].'_'.$_GET['id'];$sql = 'UPDATE users set friends = '."'{$friends}'".' WHERE id = 1';echo '<br>'.$sql;$status = mysqli_query($con, $sql);if($status){echo '好友添加成功';}else{echo '好友添加失败';}}
?>

三、详细讲解

1、语法规则: explode(separator, string, limit);

参数 描述
separator 必需。规定在哪里分割字符串。
string 必需。要分割的字符串。
limit

可选。规定所返回的数组元素的数目。

可能的值:

  • 大于 0 - 返回包含最多 limit 个元素的数组
  • 小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组
  • 0 - 返回包含一个元素的数组

版本细则:

返回值: 返回字符串的数组
PHP 版本: 4+
更新日志: 在 PHP 4.0.1 中,新增了 limit 参数。在 PHP 5.1.0 中,新增了对负数 limit 的支持。

2、语法规则: implode(separator,array)

参数 描述
separator 可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。
array 必需。要组合为字符串的数组。

版本细则:

返回值: 返回由数组元素组合成的字符串。
PHP 版本: 4+
更新日志: 在 PHP 4.3.0 中,separator 参数变成可选的。

PHP中explode()和implode()函数讲解和实战用法相关推荐

  1. avascript中的this与函数讲解

    徐某某 一个半路出家的野生程序员 javascript中的this与函数讲解 前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大 ...

  2. python transpose函数_numpy中transpose和swapaxes函数讲解

    1 transpose() 这个函数如果括号内不带参数,就相当于转置,和.T效果一样,而今天主要来讲解其带参数. 我们看如下一个numpy的数组: arr=np.arange(16).reshape( ...

  3. python transpose函数_转载:numpy中transpose和swapaxes函数讲解

    看<利用python进行数据分析>,有些不大清楚numpy中transpose和swapaxes函数的原理,这篇文章写的比较清楚,转载过来方便个人随时阅读和温习 版权声明:本文为CSDN博 ...

  4. 13.Django中几大常用模板标签讲解及实战使用 【for循环;if判断;页面跳转;开启关闭自动转义;url携带参数传递;注释】

    1.常用模板标签 (1)模板标签重要概念: ①定义:标签在渲染的过程中提供任意的逻辑. ②标签语法: 由 {% 和 %} 来定义的,例如:{%tag%} {%endtag%}   (2)常用模板标签讲 ...

  5. memcpy函数详解 看这一篇就够了-C语言(函数讲解、 使用用法举例、作用)

    memcpy()函数用于:复制内存块 函数介绍 函数声明:void * memcpy ( void * destination, const void * source, size_t num ); ...

  6. oracle中随机整数的函数,Oracle随机函数的用法

    简单得说,Oracle 取随机数,大多是通过调用dbms_random包产生,通过dbms_random包产生随机数的方法大致有下面4种: 1.dbms_random.normal 这个函数不带参数, ...

  7. strerror函数详解 看这一篇就够了-C语言(函数讲解、 使用用法举例、作用)

    strerror()函数用于:获取指向错误消息字符串的指针 函数介绍 函数声明: char * strerror ( int errnum ); 头  文  件:#include <string ...

  8. 【Android App】定位导航GPS中开启手机定位功能讲解及实战(附源码和演示 超详细)

    需要源码请点赞关注收藏后评论区留言私信~~~ 一.开启定位功能 手机定位分为卫星定位和网络定位两大类. (1)卫星定位 卫星定位服务由几个全球卫星导航系统提供. 卫星定位的原理是根据多颗卫星与导航芯片 ...

  9. php 刀客友朋,php explode()函数和implode()函数使用说明

    下里说道php中的explode 和implode的用法,芭蕾舞鞋,盼望对于友朋们有所辅助! 说到php,函数便长短常主要的,也是php爱好者,和喜好php进阶的朋友们必须控制的东东,学习php的友朋 ...

  10. php的正则表达式函数,php中常用的正则表达式函数

    php中常用的正则表达式函数 * preg_match() * preg_match_all() * preg_replace() * preg_filter() * preg_grep() * pr ...

最新文章

  1. 【CV】吴恩达机器学习课程笔记 | 第1-2章
  2. const,readonly 这些你真的懂吗? 也许会被面试到哦。。。
  3. 计算机语言中空下划线,2017-7-31 Shell脚本编程基础
  4. Spring事务嵌套引发的问题--Transaction rolled back because it has been marked as rollback-only...
  5. 【笔记】css 自定义select 元素的箭头样式
  6. 碰撞的小球 ccf (模拟)
  7. 单片机编程文件组织形式(个人编程规范)
  8. MapReduce 编程实践:统计对象中的某些属性
  9. vue 限制渲染条数_深入理解Vue 的条件渲染和列表渲染
  10. java 华氏度_在Java中将华氏度转换为摄氏温度[重复] - java
  11. 键盘不能使用或者提示没有键盘开不了机的【解决办法】
  12. qt自带的文档系统软件叫什么名字_翻译 | 为什么QObject子类不可复制?
  13. python调用vbs脚本_xShell终端调用VBS脚本 使用方法说明
  14. 51单片机最小系统原理图、PCB及组成原理详解
  15. java能写游戏脚本吗_java能写游戏脚本吗?
  16. 带有资源混淆的打补丁过程
  17. 树莓派自定义游戏,Minecraft硬件编程,建造房屋,我的世界还可以这样玩
  18. 有哪些主流智能音箱品牌值得买?小米、华为、苹果、百度
  19. 写了placement new也要写placement delete——条款52
  20. SD卡插入手机容量变小,U盘低级格式化HA-LLFTOOL

热门文章

  1. 那些年搞不懂的高深术语——依赖倒置•控制反转•依赖注入•面向接口编程
  2. python常用单词读法-Python常用单词
  3. ACO 蚁群算法(算法流程,TSP例子解析)
  4. 用Excel地图可视化——2017世界各国和地区GDP排名(初步统计版)
  5. 深度学习之一---什么是神经网络
  6. 2019春季PAT甲级题解
  7. js 小写金额转大写
  8. npm ERR! could not determine executable to run
  9. ios : Provision Profile 添加设备 device的 udid
  10. SSL / TLS协议解析!SNI 识别