php无限维度数组将key和valuejs数组拼成字符串串

7050人阅读
项目中遇到了二维关联数组转字符串的问题,查阅相关资料,写了如下程序,并且能过滤重复的关键字。
举例,php的二维数组如下:
$name = array(
&self& =& &wangzhengyi&,
&student& =& array(
&chenshan&,
&xiaolingang&
&unkmow& =& &chaikun&,
&teacher& =& array(
&huangwei&,
&fanwenqing&
最后要获得的string格式是:
wangzhengyi,chenshan,xiaolingang,chaikun,huangwei,fanwenqing
利用static关键字和递归的思想去遍历数组
function arrToStr ($array)
// 定义存储所有字符串的数组
static $r_arr = array();
if (is_array($array)) {
foreach ($array as $key =& $value) {
if (is_array($value)) {
// 递归遍历
arrToStr($value);
$r_arr[] = $
} else if (is_string($array)) {
$r_arr[] = $
//数组去重
$r_arr = array_unique($r_arr);
$string = implode(&,&, $r_arr);
没想到这篇文章看得人还很多,之前没写清楚需求,这次整理一下,一年多了自己也进步了很多,会渐渐完善自己的博客,欢迎关注,保证都是原创干货!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1273372次
积分:18647
积分:18647
排名:第299名
原创:517篇
转载:53篇
评论:643条
阅读:15616
(1)(3)(1)(7)(2)(3)(4)(7)(4)(6)(4)(4)(9)(13)(12)(6)(15)(10)(6)(3)(4)(9)(6)(5)(11)(15)(9)(5)(4)(6)(14)(16)(23)(18)(15)(23)(17)(18)(25)(22)(22)(20)(24)(30)(19)(20)(30)(11)(6)(8)php在数组中查找指定值是否存在的方法有很多,记得很久以前我一直都是傻傻的用foreach循环来查找的,下面我主要分享一下用php内置的三个数组函数来查找指定值是否存在于数组中,这三个数组分别是 in_array(),array_search(),array_key_exists()。
首先分别介绍一下各自的定义与作用
in_array(value,array,type)
该函数的作用是在数组array中搜索指定的value值,type是可选参数,如果设置该参数为 true ,则检查搜索的数据与数组的值的类型是否相同,即恒等于。
$people = array(&Peter&, &Joe&, &Glenn&, &Cleveland&);
if(in_array(&Glenn&,$people)){
& echo &Match found&;
& echo &Match not found&;
Match found
array_key_exists(key,array)
该函数是判断某个数组array中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。
$a=array(&a&=&&Dog&,&b&=&&Cat&);
if(array_key_exists(&a&,$a)){
&echo &Key exists!&;
&echo &Key does not exist!&;
Key exists!
array_search(value,array,strict)
array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,则返回匹配该元素所对应的键名。如果没找到,则返回 false。注意在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。同样如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。
$a=array(&a&=&&Dog&,&b&=&&Cat&,&c&=&5,&d&=&&5&);
echo array_search(&Dog&,$a);
echo array_search(&5&,$a);
经过实际性能对比,在数据量不大的时候,比如小于1000,查找用哪一种都行,都不会成为性能上的瓶颈。但当数据量比较大的时候,用 array_key_exists 比较合适。据测试 array_key_exist 要比 in_array 效率高十几甚至几十倍。
本文实例讲述了php在数组中查找指定值的方法。分享给大家供大家参考。具体如下: php中有两个函数可以判断数组中是否包含指定的值,分别是:array_search($value, $array)和in_array($value, $array),array_search可以找出指定的值在数组中出现的位置,in_array函数只判断数组中是否存在指定的值,返回bool值
&?php //search函数 其中$array为数组,$k为要找的值,$low为查找范围的最小键值,$high为查找范围的最大键值 function search($array, $k, $low=0, $high=0) { if(count($array)!=0 and $high == 0) //判断是否为第一次调用 { $high = count($array);
in_array()定义和用法 in_array() 函数查找数组中是否存在指定值。
语法 in_array(value,array,type)参数 描述 value 必需。规定要在数组搜索的值。 array 必需。规定要搜索的数组。 type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。
说明 如果给定的值 value 存在于数组 array 中则返回 tru
分页功能是PHP程序设计中非常常见的功能,不同于以往的,今天本文介绍的是PHP基于数组实现的分页函数。 关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页函数的操作及显示,需要配合使用。两个函数通过全局变量$countpage发生联系,此变量用于跟踪
array_key_exists() 定义和用法 array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。
语法 array_key_exists(key,array) 参数 描述 key 必需。规定键名。 array 必需。规定输入的数组。
&?php $a=array
一维数组的重复项: 使用array_unique函数即可,使用实例如下:
&?php &nbsp
本文实例讲述了php中使用key,value,current,next和prev函数遍历数组的方法。分享给大家供大家参考。具体分析如下: php中针对数组遍历有一系列的函数使我们可以非常方便的操作数组,要遍历一个数组,第一步就是要将指针指向数组开头,使用reset()函数。 使用prev()和next()函数可以查看数组的上一个和下一个元素。在然和位置都可以使用current()函数获得当前的值,
in_array() 定义和用法 in_array() 函数在数组中搜索给定的值。
语法 in_array(value,array,type) 参数 描述 value 必需。规定要在数组搜索的值。 array 必需。规定要搜索的数组。 type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。
说明 如果给定的值 value 存在于数组 array 中则返回 tru
&?php require_once(&Zend/Loader.php&); Zend_Loader::loadClass(&Zend_Validate&); Zend_Loader::loadClass(&Zend_Validate_InArray&);
function check_inarray($perso
本文实例讲述了php使用session二维数组的用法。分享给大家供大家参考。具体如下: 最普通的用法:一个变量名
$_SESSION['user'] = 0;
echo $_SESSION['user'];
使用数组:
$_SESSION['user']['a'] = 1;
$_SESSION['user']['b'] = 2;
数据结构很重要,算法+数据结构+文档=程序
使用PHP描述冒泡排序算法,对象可以是一个数组
//冒泡排序(数组排序)function bubble_sort($array) { $count = count($array); if ($count &= 0) for($i=0; $i&$ $i++){ for($j=$co
本文实例讲述了PHP使用in_array函数检查数组中是否存在某个值的方法。分享给大家供大家参考。具体分析如下: PHP使用in_array()函数检查数组中是否存在某个值,如果存在则返回 TRUE ,否则返回 FALSE了,非常的好用,下面我深入来为各位介绍in_array() 函数. 最近在用php写一段代码时,要用到判断某值是否在另外一组值中。而in_array 函数就是用来检查数组中是否存
PHP4.0中共有超过30个新的数组相关函数。其中很多通用函数允许你检查给定数组中是否存在特定对象、对数组元素计数、增加或删除元素,或对元素排序。
如果你有很大的一个数组,而所要完成的仅是找出一个存在的给定值,你可以使用in_array()以返回true 或 false。如下代码将输出“Not found in this array”――因为你将在$namesArray中寻找一个并不存在的“Al
PHP5.5发布了,其中增加了一个新的数组函数array_column,感觉不错的!但是低版本PHP要使用,得自己实现:参考地址:https://wiki.php.net/rfc/array_column
if(!function_exists('array_column')){
function array_column($input,
在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧。php如何获取数组的长度,使用php函数count(),或是sizeof()例如:
$arr = Array('0','1','2','3','4'); echo count($arr); // 输出 5 $arr = a
本文实例讲述了php使用gettimeofday函数返回当前时间并存放在关联数组里的方法。分享给大家供大家参考。具体分析如下: 英文官方描述如下: KeyDescription
secSeconds since midnight before January 1, 1970
usec Microseconds since the sec value
本文介绍一篇关于php 二维数组以某一键名进行分组相加的实例程序,如果是从数据库里取数据的时候大可以SELECT SUM(t_value),t_id FROM t_table GROUP BY t_id,但是如果是在php程序中处理类似的问题就稍微麻烦点了,这里给个函数就是处理类似的问题
&?php /* 函数功能:对二维数组以某一键名进行分组相加,返回新的二维数组 &
PHP的数组函数众多,下面是我学习的小结,借此记之,便于以后鉴之……
  一、数组定义:   数组的定义使用 array()方式定义,可以定义空数组: .foreach遍历:
&?php $number = array(1,3,5,7,9); //定义空数组 $result = array(); $color =array(&red&,&
PHP4.0中共有超过30个新的数组相关函数。其中很多通用函数允许你检查给定数组中是否存在特定对象、对数组元素计数、增加或删除元素,或对元素排序。 如果你有很大的一个数组,而所要完成的仅是找出一个存在的给定值,你可以使用in_array()以返回true 或 false。如下代码将输出“Not found in this array”――因为你将在$namesArray中寻找一个并不存在的“Alb
本文总结了PHP数组相关的函数。分享给大家供大家参考。具体如下: 这里包括函数名和用法说明,没有详细的代码范例。感兴趣的朋友可以查阅本站相关的函数用法。 数组的相关处理函数 current(数组名称) 输出数组中一个字符串的值,从第一个起. key(数组名称) 输出数组中一个下标,从第一个起. next(数组名称) 控制数组指针向后移动. prev(数组名称) 控制数组指针向前移动. end(数组
本文实例讲述了php实现通用的从数据库表读取数据到数组的函数。分享给大家供大家参考。具体分析如下: 此函数不关心表结构,只需要指定表名、结构和查询条件既可以对表进行通用查询操作,非常实用。
function listmytablerows($table, $name, $field, $where, $textID) { / / Connect to the database and quer
数组,可以说是PHP的数据应用中较重要的一种方式。PHP的数组函数众多,下面是我学习的小结,借此记之,便于以后鉴之。 1. 数组定义 数组的定义使用 array()方式定义,可以定义空数组:
&?php $number = array(1,3,5,7,9); //定义空数组 $result = array(); $color =array(&red&
创建数组就不再说了 array()函数 提取数组可以用list(). 测试数组元素 ,可以用is_array() 接受一个参数,传进来的变量,如果变量是数组,返回true如果不是返回false. 添加和删除数组元素 数组的fifo和lifo 先解释下什么是fifo和lifo 删除元素与加入元素的顺序相同,称为先进先出,既first-in-first-out 删除元素与加入元素的顺序相反
getenv(PHP 4, PHP 5)
// getenv ― 获取一个环境变量的值
函数说明:string getenv ( string $varname )
// 获取一个环境变量的值。 // 使用 phpinfo() 你可以看到所有环境变量的列表。
参数说明:
$varname 变量名。
函数返回值:
PHP中将数组当做一个栈,主要是使用array_push()和array_pop()两个系统函数来完成。入栈主要是利用array_push()函数向第一个参数的数组尾部添加一个或多个元素,然后返回新数组的长度,示例如下: 而PHP中,将数组当作是队列则主要是用array_push()和array_shift()实现。
&?php $zhan=array(&WE
/*函数array_map()函数:多数组回调函数---将回调函数作用到给定数组的单元上 * 1、语法:array array_map ( callback callback, array arr1 [, array ...] ) * 2、描述:返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的 * 单元。callback 接受的参数数目应该和传
&?php class='pingjiaF' frameborder='0' src='http://www.jb51.net' scrolling='no'& 对数组排序 usort() 函数使用用户自定义的函数对数组排序。 */
function cmp($a, $b) //用户自定义回调函数
array_combine() 定义和用法 array_combine() 函数通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。
如果其中一个数组为空,或者两个数组的元素个数不同,则该函数返回 false。
语法 array_combine(array1,array2) 参数 描述 array1 必需。规定键名。 array2 必需。规定值。
提示和注释 注释:
如何声明数组 s中数组的声明可以有几种方式声明
var tmp = []; // 简写模式
var tmp = new Array(); // 直接new一个
var tmp = Array(); // 或者new也可以
在new数组的时候可以传入一个参数,表示数组的初始化长度
// new的时候传入一个参数表示初始
shuffle()定义和用法 shuffle() 函数把数组中的元素按随机顺序重新排列。
若成功,则返回 TRUE,否则返回 FALSE。
注释:本函数为数组中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。
注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已被自动完成。
语法 shuffle(array) 参数 描
PHP 里面有个非常方便的打乱数组的函数 shuffle() ,这个功能在许多情况下都会用到,但 javascript 的数组却没有这个方法,没有不要紧,可以扩展一个,自己动手,丰衣足食嘛。 请刷新页面查看随机排序效果。
&script type=&text/javascript&&
//&![CDATA[
// 说明:为 Java
在编程中查手册是少不了的,所以要会学着使用已有的东西,就如PHP中的数组处理函数已经有排序函数了,为什么还要在写东西是费着劲去写冒泡或者堆排或者快排呢。   编程是间接的过程,也是重用的过程,要写出好的代码是少不了设计模式来做支撑的,可能对初学者来说学习设计模式有些吃力(就像我当初看设计模式时,真是有点费劲),不过等你的代码量有一定积累时,在研究设计模式时,感觉设计模式真的挺有用的,能帮助你写出漂
本文实例讲述了php数组保存文本与文本反编成数组的方法。分享给大家供大家参考。具体实现方法如下: 下面的实例定义了两个函数,其中string2array用于将字符串转换成数组,array2string用于将数组转换成字符串。 具体实现代码如下:
function string2array($data) {
if($data == '') return array();
本文实例讲述了php通过sort()函数给数组排序的方法。分享给大家供大家参考。具体分析如下: sort()函数用于给数组排序,本函数为数组中的单元赋予新的键名。原有的键名将被删除。
如果成功则返回 TRUE,否则返回 FALSE。
$alpha = array (&x&, &a&, &f&, &c&); sor
PHP官网定义:
构造函数是类中的一个特殊函数,当使用 new 操作符创建一个类的实例时,构造函数将会自动调用。当函数与类同名时,这个函数将成为构造函数。如果一个类没有构造函数,则调用基类的构造函数,如果有的话,则调用自己的构造函数
如a.php一个class a类:
&?php class a{ function __constru
下面来具体讲解下几个数组函数的使用方式: Array函数 返回包含数组的Variant。 Array(arglist) arglist参数是赋给包含在Variant中的数组元素的值的列表(用逗号分隔)。如果没有指定此参数,则将会创建零长度的数组。 说明 用于引用数组元素的表示符,由跟随有括号的变量名组成,括号中包含指示所需元素的索引号。在下面的示例中,第一条语句创建名为 A 的变量。第二条语句将一
注意注释部分的文字介绍哦~
&?php //实例化一个数组 $array = array(); //数组由两部分组成 如下 //array(键名[key]=&值[value]) //键名一般用与索引 //类型可以为 int 或 字符串[int是什么可以查php手册] //所以可以这样写 //$array = array(0=&'a',1=&'b'); /
使用array_rand() 函数从数组中随机选出一个或多个元素,并返回。
array_rand(array,number)
array 必需。规定输入的数组参数。
number 可选。默认是 1。规定返回多少个随机的元素。
&?php $a=array(&a&=&&Dog&quot
本文实例讲述了php通过array_merge()函数合并两个数组的方法。分享给大家供大家参考。具体分析如下: php通过array_merge()函数合并两个数组,array_merge()是一个php函数,用于将两个或者多个数组合并,后一个数组会追加到前一个数组后面,并返回结果数组。它接受两个或两个以上的数组,并返回一个包含了所有元素的数组。
$first = array(&aa
array_values() 定义和用法 array_keys() 函数返回包含数组中所有键名的一个新数组。
如果提供了第二个参数,则只返回键值为该值的键名。
如果 strict 参数指定为 true,则 PHP 会使用全等比较 (===) 来严格检查键值的数据类型。
语法 array_keys(array,value) 参数 描述 array 必需。规定输入的数组。 value 可选。指定php判断数组元素中是否存在某个字符串的方法
投稿:mdxy-dxy
字体:[ ] 类型:转载 时间:
今天在写一个函数的时候,需要用到判断数组中是否存在某个字符串,方便我们继续后面的操作,这里简单为大家介绍下,需要的朋友可以参考下
方法一:采用in_array(value,array,type)
type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。
代码如下:$arr = array('可以','如何','方法','知道','沒有','不要');//in_array(value,array,type)$isin = in_array("如何2",$arr);if($isin){&&& echo "in====".$}else{&&& echo "out====".$}
array_key_exists 'array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。array_key_exists(key,array
方法三:array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。array_search(value,array,strict),当数据量比较大的时候,用array_key_exists比较合适,但占用的内存比较大,
数组结构是: array(1, 2, 3, ..)和 array(1 =& true, 2 =& false, ..),内存使用比值为1:2。具体跟内部实现有关系,在php中第一种和第二种的数据结构类似,都是关联数组。其它补充:
查找一个元素是否在数组中,一共有下面三种做法:
in_array& '函数在数组中搜索给定的值。in_array(value,array,type)type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。 array_key_exists 'array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。
array_key_exists(key,array)
array_search 'array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。
array_search(value,array,strict)
从这里来看,在数据量不大的时候,比如小于1000,查找用哪一种都行,都不会成为瓶颈;当数据量比较大的时候,用array_key_exists比较合适。当然这里array_key_exists占用的内存比较大,经测算数组结构是: array(1, 2, 3, ..)和 array(1 =& true, 2 =& false, ..)他们内存使用比值为1:2;这个和内部实现有关系,实际上在php中第一种和第二种的数据结构类似,都是关联数组。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具1008人阅读
php数组的遍历讲解
本文主要讲解for,foreach,list,each,key,指针操作相关函数,array_flip ,array_reverse,array_walks等函数的对数组的遍历
1.for循环遍历数组
for循环是几乎所有语言都可以用的一种遍历数组的方式,但是在php语言中for循环不是遍历数组的首选
一下是for循环实现数组遍历的示例代码
//for 循环遍历数组
//声明一个数组并且初始化
$array=array('Google','Chrome','Android','Youtube','Gmail');
//使用for循环遍历各数组元素,count()用来计算数组的长度
for($i=0;$i&count($array);$i++){
//打印数组的元素的值
echo $array[$i],&&br&&;
注意:使用for遍历数组存在以下限制:
a &所遍历的数组必须是索引数组(即下标为数字的数组),不能是关联数组(下标为字符串的数组)
如下列代码
$arrGoogle=array('brand'=&'google','email'=&'Gmail','WebBrowser'=&'Chrome','phone'=&'Android');
for($i=1;$i&=count($arrGoogle);$i++){
echo $arrGoogle[$i];
在运行时会报错,类似于这样的错误Notice: Undefined offset: 1 in D:/phpnow/htdocs/holiday/php_array_visit_summary.php on line 13这说明for不适合用于关联数组的遍历
b,for遍历的数组既要满足是索引数组,同时下标又要是连续的整数,如果不是连续的整数则会发生提示
如下列代码
$array=array(1=&'Google',5=&'Chrome',7=&'Android',9=&'Youtube',12=&'Gmail');
//print_r($array);
for($i=0;$i&count($array);$i++){
echo $array[$i],&&br&&;
这种情况下也会发生提示类似于Notice: Undefined offset: 2 in D:/phpnow/htdocs/holiday/php_array_visit_summary.php on line 10 因此for循环遍历数组必须是索引数组而且下标必须是连续的。
2.foreach遍历数组
foreach可以说是php语言单独为遍历数组提供的一种方法(其他语言也可能有),这种遍历方法是php遍历数组的首选
foreach遍历时可以是这样的foreach($array as $key=&$value)包含键值元素 &也可以是foreach($array as $value)只包含值
foreach($array as $value)示例代码
//foreach实现遍历数组
$arrGoogle=array('brand'=&'google','email'=&'Gmail','WebBrowser'=&'Chrome','phone'=&'Android');
//只包含值
foreach($arrGoogle as $value){
echo $value.'&br&';
foreach($array as $key=&$value)的代码示例
$arrGoogle=array('brand'=&'google','email'=&'Gmail','WebBrowser'=&'Chrome','phone'=&'Android');
foreach($arrGoogle as $key=&$value){
echo '第',($key+1),'个数组元素的值是',$value,'&br&';
注意以上的$value和$key都是自定义的变量,因此可以根据需要更改成符合自己风格的命名方式
3.使用list函数遍历数组
list()函数是将数组中的值赋给变量 &
标准语法:void list ( mixed varname, mixed ... )
用list实现对数组的遍历代码
//使用list遍历函数
//$arrGoogle=array('brand'=&'google','email'=&'Gmail','WebBrowser'=&'Chrome','phone'=&'Android');//使用关联数组不行
$arrGoogle=array('google','Gmail','Chrome','Android');
list($brand,$email,$webBrowser,$phone)=$arrG
echo $brand,$email,$webBrowser,$
a &list函数所接受的数组只能是索引数组,不能是关联数组!如果是关联数组,则会出现类似 Notice Undefined offset提示
b &如果只是部分取出数组的值,只需 按照这样的写法即可,list(,,$chrome,)=$arrG这样我们就可以去除chrome的信息,但是注意一定要保证list参数与数组的元素个数相同(所取值前面的个数)
c list函数赋值按索引顺序赋值
4.each函数遍历数组
each函数返回输入数组的键值对
标准语法:array each(array input array)
返回值:返回4个&#,key,value;其中0和key包含键名,而1和value包含相应的数据
使用each遍历数组的示例代码如下:
//使用each函数遍历数组
$arrGoogle=array('google','Gmail','Chrome','Android');
//第一次使用each取得当前键值对,并且将指针移到下一个位置
$arrG=each($arrGoogle);
//打印结果,并且换行以清晰显示结果
print_r($arrG);
print '&br&';
$arrGmail=each($arrGoogle);
print_r($arrGmail);
print '&br&';
$arrChrome=each($arrGoogle);
print_r($arrChrome);
print '&br&';
$arrAndroid=each($arrGoogle);
print_r($arrAndroid);
print '&br&';
//当指针位于数组末尾再次执行函数each,如果是这样再次执行结果返回false
$empty=each($arrGoogle);
//如果指针无法继续后移返回false
if($empty==false){
print '指针以位于数组末尾,无法在向后移,故返回false';
注意:该函数的参数和返回值(在执行该函数前指针不位于数组末尾时)都为数组,在执行函数前数组指针位于数组末尾时再次执行该函数返回值为false
&&&&&&&开始的位置是第一个元素,每(正常)执行一次该函数,指针向后移到下一个地址
5.key()遍历数组
each是用来返回数组的键名
基本语法:mixed key ( array &array )
key函数遍历数组示例代码如下
//Designed By Androidyue
//使用key函数遍历数组
//初始化一个关联数组
$arrChina=array('a'=&'Hebei','b'=&'Anhui','c'=&'Beijing','d'=&'Guangdong','e'=&'Shanghai');
//初始化一个索引数组 &&但是索引数组使用key返回的是空字符产
$arrCN=array('Hebei','Anhui','Beijing','Guangdong','Shanghai');//key显示的是数组的字符串下标,如果为索引数组则为空字符串
//print_r($arrChina);
while($key=key($arrChina)){//对于关联数组使用key方法可以执行
echo $key,'&br&';
next($arrChina);
print_r($arrCN);//输出一下索引数组
while($keyName=key($arrCN)){//这里调用key函数赋值后为false,while条件不成立,不进行{}之间的操作
var_dump($keyName);
//验证对索引数组使用key函数的返回值赋值给变量这个表达式的布尔值
if(($KeyName=key($arrCN))==false){
print 'False';
//对索引数组调用key函数对变量赋值
$keyName=key($arrCN);
next($arrCN);//将数组指针向后移动一位
next($arrCN);
next($arrCN);
next($arrCN);
next($arrCN);
$keyName=key($arrCN);
var_dump($keyName);//输出值和类型类型信息
//echo $keyN
注意:key函数的参数一般为关联数组,如果为索引数组那么就没有什么意义了
key函数不会推进指针移动,这里我们调用了next函数,next函数用来推进指针向后移动,下面就是next函数的介绍
6.使用对指针进行操作的函数遍历数组
a reset函数 &用于将指针设置回数组的初始位置,如果需要在一个脚本中多次查看和处理一个数组,就可以使用这个函数,另外这个函数还常用于排序的结束
b.current() 函数
返回当前当前数组指针位置的值,该函数不对指针进行移动操作,需要注意这个特点
c end 将指针移到数组的最后位置,返回目标位置的值
d next 将指针向后移动一次并返回目标位置的数组值,如果当前位置为数组的最后位置,返回false
e prev 将指针向前移动一次,并返回目标位置的数组值,如果当前位置是数组起始位置,则返回false
//Designed By Androidyue
//reset方法的使用 &注意以下代码调用了控制指针的函数,移动指针的操作会影响到each函数的结果
//初始化一个数组,为了简写代码,声明一个简单的数组
$arrGoogle=array('google','Gmail');
//调用each函数,并且输出返回数组 换行
echo(current($arrGoogle));//使用current函数,打印出当前的值
echo (next($arrGoogle));//调用next函数,打印下一个的值
$arrG=each($arrGoogle);
print_r($arrG);
print '&br&';
$arrGmail=each($arrGoogle);
print_r($arrGmail);
print '&br&';
$arrMore=each($arrGoogle);//当指针无法继续移动时返回false
//print_r($arrMore);
//echo $arrM
print '&br&';
//但是如果想继续输出使用重复上面的过程,那么使用reset函数将指针重置为开始位置,然后重复上面的的操作
reset($arrGoogle);
echo(end($arrGoogle));//调用end函数将指针移到数组最后一个位置,并返回值
echo(prev($arrGoogle));//调用prev函数将指针向前移动,并返回值
$arrG=each($arrGoogle);
print_r($arrG);
print '&br&';
$arrGmail=each($arrGoogle);
print_r($arrGmail);
print '&br&';
7.array_reverse()
该函数是将目标数组元素逆置,如果设置preserver_key为true,则保持原先的映射,否则重置映射
该函数使用示例代码如下
$arrGoogle=array('Google','Gmail','Android','Chrome','Youtube');
echo '&pre&';
print '进行操作之前的数组';
print_r($arrGoogle);
$arrReversed=array_reverse($arrGoogle);//不保留先前映射
print '未开启preserve_key 进行逆序操作后的结果';
print_r($arrReversed);
$arrReversedT=array_reverse($arrGoogle,1);//保留先前映射
print '开启preserver_key 进行逆序操作的结果';
print_r($arrReversedT);
echo'&/pre&';
8.array_flip()
该函数是将数组的键和值互换
下面是该函数的使用代码
//array_flip()函数的使用
//初始化一个索引数组
$arrGoogle=array('Google','Chrome');
//初始化一个关联数组
$arrSohu=array('son'=&'Sogou','child'=& 'Chinaren','search'=&'Sogou');//如果存在值相同调用array_flip()函数会按照顺序将相同的值覆盖掉, 如'son'=&'Sogou'和'search'=&'Sogou'值相同,使用array_flip()函数后,为[Sogou] =& search
//对两个数组调用array_flip()函数进行操作并输出,都可以正常输出
print_r(array_flip($arrGoogle));
print '&br&$arrSogou未进行array_flip()函数操作之前的数组';
print_r($arrSohu);
print '&br&$arrSogou未进行array_flip()函数操作之后的数组';
print_r(array_flip($arrSohu));
9.array_walk函数
boolean array_walk(array input_array,callback function[,mixed userdata])
array_walk()函数是将参数数组array_input中的每个元素传递给自定义的函数function 中,进行相关的操作,如果想真正修改array_input的键值对则需要将每个键值对作为引用传递给函数
自定义函数必须接受两个输入参数,第一个是数组的当前值,第二个是数组的当前键,,如果调用array_walk函数给出第三个值userdata,他的第三个值将作为第三个参数传递给自定义函数。
//Designed By Androidyue
//array_walk函数的使用
//初始化一个数组
$arrCorperate=array('移动','联通','电信');
function linkString(&$value,$key,$prefix='cn'){
$value=$prefix.$//函数体实现字符串拼接
array_walk($arrCorperate,'linkString');//使用array_walk()对该数组按照自定义函数操作
//array_walk($arrCorperate,'linkString','中国');//这里传第三个三处对自定义函数设置参数
print_r($arrCorperate)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:497345次
积分:5879
积分:5879
排名:第2871名
原创:53篇
转载:382篇
评论:24条
(4)(1)(1)(1)(12)(12)(1)(1)(1)(6)(9)(1)(2)(3)(3)(2)(5)(4)(3)(3)(4)(9)(22)(14)(10)(9)(13)(5)(6)(5)(16)(15)(15)(7)(21)(5)(2)(11)(14)(21)(4)(5)(36)(41)(38)(3)(8)}

我要回帖

更多关于 sql 列拼成字符串 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信