//TODO : 字符串替换
//dump(str_replace('a', 'b', 'aaa', $count));
//dump($count);
//TODO : 分割字符串(字符串转数组)
//dump(explode(',', 'a,b,c,d'));
//TODO : 拼接数组的值(数组组转字符串)
//dump(implode(',', array('a', 'b', 'c', 'd')));
//TODO : 格式化输出
//dump(sprintf("select * from table where id=%d and name=%s", '10', 'zhangsan'));
//TODO : 查找字符首次出现的位置
//dump(strpos('hello world', 'o'));
//TODO : 获取字符串长度
//dump(strlen("学习笔记"));
//dump(mb_strlen("学习笔记"));
function List1($var)
{
return is_numeric($var);
} function List2($var1, $var2)
{
return $var1 . $var2;
} $list1 = array('name', 'age');
$list2 = array('winnie', 18);
$list3 = array(
array('name' => 'winnie', 'age' => 18),
array('name' => 'zhangsan', 'age' => 19),
array('name' => 'lisi', 'age' => 18)
);
$list4 = array('a', '2' => 'b', '3' => 'c');
$list5 = array('3' => 'b', 'd', 'e');
$list6 = array('f');
$list7 = array('a', 'b', 'c', 'd', 'e', 1, '1');
$list8 = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$list9 = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'); //TODO : 以一个数组作为key 另一个数组作为value
//dump(array_combine($list1, $list2));
//TODO : 返回一个新的数组 以传入的数组最为value 和 key
//dump(array_column($list3, 'name', 'age'));
//TODO : 重置数组索引
//dump(array_values(array('a'=>'1', 'b'=>'2')));
//TODO : 返回第一个数组和其他数组的差集(比较value)
//dump(array_diff($list4, $list5, $list6));
//TODO : 返回全部或指定值的索引
//dump(array_keys($list7, 1, true));
//TODO : 将一个数组分割成多个
//dump(array_chunk($list7, 3, true));
//TODO : 统计value出现的次数
//dump(array_count_values($list7));
//TODO : 返回第一个数组和其他数组的差集(比较key 和 value)
//dump(array_diff_assoc($list4, $list5));
//TODO : 返回第一个数组和其他数组的差集(b比较key)
//dump(array_diff_key($list4, $list5));
//TODO : 用指定的key和value填充数组
//dump(array_fill_keys($list1, $list2));
//TODO : 用回调函数过滤指定数组
//dump(array_filter($list7, "List1"));
//TODO : 交换数组的key和value
//dump(array_flip($list1));
//TODO : 返回第一个数组和其它数组的交集(比较key 和 value)
//dump(array_intersect_assoc($list4, $list5));
//TODO : 数组是否存在某个key
//dump(array_key_exists(0, $list1));
//TODO : 为数组的每一个value应用回调函数
//dump(array_map("List2", $list8, $list9));
//TODO : 合并一个或多个数组
//dump(array_merge($list8, $list9));
//TODO : 弹出数组最后一个value
//dump(array_pop($list3));
//TODO : 往一个数组末尾添加值
// array_push($list8, $list9);
//dump($list8);
//TODO : 从数组中随机取出n个值
//dump(array_rand($list8, 3));
//TODO : 用一个或多个数组替换第一个数组
/*dump(array_replace(
array('a', 'a', 'b', 'b', 'c', 'c'),
array('2'=>'d', '3'=>'d',),
array('3'=>'f')
));*/
//TODO : 根据key获取key
//dump(array_search('g', $list9));
//TODO : 切片,从数组中取出一段
//dump(array_slice($list9, 2, 6));

PHP字符串和数组的更多相关文章

  1. sizeof、strlen、字符串、数组,整到一块,你还清楚吗?

    写在前面 sizeof.strlen.字符串.数组,提到这些概念,相信学过C语言的人都能耳熟能详,也能谈得头头是道,但是,在实际运用中,当这些内容交织在一起时,大家却不一定能搞地清清楚楚,本文的目的正 ...

  2. Java中将一个字符串传入数组的几种方法

    String Str="abnckdjgdag"; char a[]=new char[Str.length()]; -------------------方法1 用于取出字符串的 ...

  3. 03- Shell脚本学习--字符串和数组

    字符串 字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号.单双引号的区别跟PHP类似: 单双引号的区别: 双 ...

  4. js中字符串和数组相互转化的方法

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #e4af0a } p. ...

  5. bash中不可以用字符串做数组下标

    bash中可以用字符串做数组下标吗例如 test["abc"]=1------解决方案-------------------- 好像是误会,是awk里可以,bash shell里不 ...

  6. js数字、字符串、数组之间的转化

    1.数组转字符串 var a, b; a = ,,,,); b = a.join("-"); 2.字符串转数组 var s = "abc,abcd,aaa"; ...

  7. C#.NET 字符串转数组,数组转字符串

    string str = "1,2,3,4,5,6,7";            string[] strArray = str.Split(','); //字符串转数组      ...

  8. 固定分隔符字符串与数组互转及ArrayList与数组(Array)互转

    1.字符串转数组 这个相信多数人都会常用,string.split方法,分隔符可以为多个.详细信息参见MSDN string[] actionCfgs = _para.Split(new char[] ...

  9. char型字符串(数组)与string型字符串 指针与引用

    一.常指针: int *const p;    //指针不可改变,但是指针指向的数据可以改变. 指向常量的指针: const int *p;    //指针可以改变,但是指针指向的数据不可以改变. 指 ...

  10. PHP 数组转字符串,与字符串转数组

    implode 使用一个字符串将数组变成字符串 <?php $array = array('lastname', 'email', 'phone'); $comma_separated = im ...

随机推荐

  1. python注释中文

    原因: 如果文件里有非ASCII字符,需要在第一行或第二行指定编码声明. 解决办法: 必须是在第一行或是第二行加入 1)加上# -*- coding:utf-8 -*-之后就能成功使用中文注释了 2) ...

  2. [BZOJ 2500] 幸福的道路

    照例先贴题面(汪汪汪) 2500: 幸福的道路 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 368  Solved: 145[Submit][Sta ...

  3. 浅谈jQuery Pagination Ajax 分页插件的使用

    插件介绍 此插件是jQuery的ajax分页插件.分页切换时无刷新也无延迟,因为是一次性加载的.如果你用到此插件作分页的时候,涉及到的数据量大,建议不要使用此插件,因为加载慢会导致用户体验不好! 插件 ...

  4. MySQL优化 - 所需了解的基础知识

    时隔一年半,期间一直想写但却觉得没有实质性的内容可记录,本文为 [高性能MySQL] 的学习日志整理分享(感兴趣建议读原书). 优化应贯穿整个产品开发周期中,开发过程中考虑一些性能问题与影响,总比出问 ...

  5. nginx的平滑升级

    一:解释nginx的平滑升级 随着nginx越来越流行,并且nginx的优势也越来越明显,nginx的版本迭代也来时加速模式,1.9.0版本的nginx更新了许多新功能,例如stream四层代理功能, ...

  6. (6)UIView常见属性二

    例如创建一个view视图,view是最纯洁的控制,必须得指定它的位置,而不像其他的控件像UISwitch默认都有一个位置 在viewDidLoad方法中打印它的位置: 将控件放入一个视图中,只需移动白 ...

  7. 原生JS实现各种经典网页特效——Banner图滚动、选项卡切换、广告弹窗等

    在制作网页过程中,我们可能会遇到各种常用的经典网页特效,比如Banner图片滚动.选项卡循环播放.右下角广告弹窗.评论提交展示.选项动态增删.剪刀石头布小游戏等等等...是不是感觉都见到过这些场景.那 ...

  8. HTML的基本结构与标签的初步了解

    一.初步了解HTML HTML是一种超文本标签语言,浏览器则是用来"解释和执行"HTML源码的工具. HTML的基本结构 <!DOCTYPE html> <htm ...

  9. VS2013 C++代码运行问题

    VS2013(工具集V120)下编译的C++代码,在win7运行错误,提示缺少msvcr230.dll,但是添加dll之后无效. 解决办法: 官方下载VS2013的C++运行库: vcredist_x ...

  10. Hadoop集群时间同步

    0x01 ntp安装 检查时间服务器是否安装 # rpm -q ntp ntp-4.2.4p8-2.el6.x86_64 // 这表示已安装了,如果没有安装,这是空白. //如果没有安装,我们按照下 ...