PHP数组操作简单案例分析

本文实例讲述了PHP数组操作相关技巧。分享给大家供大家参考,具体如下:

这个是一道简单的PHP数组入门题

$Str = "as5454654%^$%^$7675dhasjkdhh12u123123asdasd";
//将上面的统计上面字符串不同字符和出现的次数。

实现方式:将字符串转换成数组,在通过对数组的操作得到相应的结果。

$len = strlen($str);
//数组存在数组中
$array = array();
for($i=0;$i<$len;$i++)
{
  array_push($array,substr($str,$i,1));
}

根据上面的转换函数,我们得到的了,我们想要的结果。

接下来用三种方式来完成上面的。

//方法1
//对数组进行sort()排序
$arr = sort($array);
//去掉重复值
$arr1 = array_unique($array);
//打印数组$arr1你将发现,你继续来需要做的事了。注意键值直接的关系

效果图

下面来看看方法二:

//无比风骚的方法二
$arr2 = array_count_values($array);
//打印数组$arr2 所有问题都解决了

效果图

是不觉得方法二很坑爹呀~

注意:凡是可以用到PHP自动函数的,最好是用,理由我不说,你也应该懂

方法三:

我这里只说思想:运用ACM思想,对元素数组进行快排后,再对数组进行分块处理。

效果图

看看这个函数给你上面提示:

array array_splice ( array $input , int $offset [, int $length< [, array $replacement ]] )
//把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数,
//则用 replacement 数组中的单元取代。返回一个包含有被移除单元的数组。注意 input 中的数字键名不被保留。

解决问题的方式很多,我现在就想到这三种,一个简单的问题,多想想。代码就会越敲越少。这就是进步。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • php中的数组操作函数整理

    Array([key =>] value, [key =>] value, [key =>] value, [key =>] value) // key 可以是 integer 或者 string // value 可以是任何值 array_change_key_case -- 返回字符串键名全为小写或大写的数组 array_chunk -- 将一个数组分割成多个 array_combine -- 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 array_coun

  • PHP数组操作——获取数组最后一个值的方法

    php开发过程中,可能经常需要对取出的数组要获取数组的最后健或值.在这里我们总结了三个方法,并且跟据他们三个方法在一些情况下如何使用的条件限制进行了说明. <?php $array=array(1,2,3,4,5); echo $array[count($array)-1];//计算数组长度,然后获取数组最后一个元素,如果数组中最后一个元素含有非数字键名,结果可能跟预期不符合 //适用于键名为数字的数组 echo '<br>'; echo end($array);//将数组的内部指针指向

  • PHP中常用的数组操作方法笔记整理

    概述 要访问一个变量的内容,可以直接使用其名称.如果该变量是一个数组,可以使用变量名称和关键字或索引的组合来访问其内容. 像其他变量一样,使用运算符=可以改变数组元素的内容.数组单元可以通过 array[key] 语法来访问. 数组的基本操作 php定义数组: <?php $array = array(); $array["key"] = "values"; ?> 在PHP中声明数组的方式主要有两种: 1.用array()函数声明数组, 2.直接为数组元

  • PHP数组操作类实例

    本文实例讲述了PHP数组操作类.分享给大家供大家参考.具体如下: class ArrayHelper{ /** * 从数组中删除空白的元素(包括只有空白字符的元素) * * 用法: * @code php * $arr = array('', 'test', ' '); * ArrayHelper::removeEmpty($arr); * * dump($arr); * // 输出结果中将只有 'test' * @endcode * * @param array $arr 要处理的数组 * @

  • php数组转换js数组操作及json_encode的用法详解

    对于php,个人感觉能够熟练操作数组和字符串,基本上已经是入门了,php本身有很多操作数组和字符串的函数,今天在做一个功能时,需要用Js动态的创建门店信息,这些信息是要从后台添加的,想来想去,通过php读取数据库,得到数组,然后将数组转化成符合需求js数组,php数组形式为: 复制代码 代码如下: $newArray = array(array('地区'=>'北京地区','items'=>'10','detail'=>array(0=>array('店名'=>'旗舰店','u

  • 第五章 php数组操作

    一.什么是数组 数组是一组有某种共同特性的元素,包括相似性和类型. 每个元素由一个特殊的标识符来区分,称之为key,而每个key都有一个value 1.创建数组的两种方式: 1.1 用array()函数 复制代码 代码如下: <?php $usernames = array ('Alerk', 'Mary', 'Lucy', 'Bob', 'Jack', 'John', 'Mark' ); foreach ( $usernames as $name ) { echo $name . '<br/

  • php 数组操作(增加,删除,查询,排序)等函数说明第1/2页

    数据增加,删除,查询,排序详细说明 对数组的添加(首尾数据添加(不限定条数)以及中间任意位置添加数据操作) . 2-对数组的删除(首尾的数据删除(不限定条数)以及中间任意位置的数据删除操作,条件:对数组中间位置删除的,后面的值往前挪,接上以前的位置) . 3-对数据的排序操作(排序操作,要的是效率) . 4-对数组的查询(对数组中的某一数据进行查询,如果满足,则生成新的数组,这个新的数组就是满足查询条件的,条件:查询,并不是查询某一个值,还有查询某一个值满足某个条件,举个例子:查询数组中某个值大

  • PHP数组操作汇总 php数组的使用技巧

    数组,可以说是PHP的数据应用中较重要的一种方式.PHP的数组函数众多,下面是我学习的小结,借此记之,便于以后鉴之. 1. 数组定义 数组的定义使用 array()方式定义,可以定义空数组: 复制代码 代码如下: <?php $number = array(1,3,5,7,9); //定义空数组 $result = array(); $color =array("red","blue","green"); //自定义键值 $language

  • php数组操作之键名比较与差集、交集赋值的方法

    本文实例讲述了php数组操作之键名比较与差集.交集赋值的方法.分享给大家供大家参考.具体方法如下: 该实例主要实现对数组的各种常见操作.如对键名比较计算数组的差集,计算差集,给指定数组中插入一个元素,反转数组与交集赋值新的数组等. 具体代码如下: 复制代码 代码如下: //定义回调函数 function key_compare_func($key1,$key2) {   if($key1==$key2)         //如果两参数相等   return 0;          //返回0  

  • PHP数组操作简单案例分析

    本文实例讲述了PHP数组操作相关技巧.分享给大家供大家参考,具体如下: 这个是一道简单的PHP数组入门题 $Str = "as5454654%^$%^$7675dhasjkdhh12u123123asdasd"; //将上面的统计上面字符串不同字符和出现的次数. 实现方式:将字符串转换成数组,在通过对数组的操作得到相应的结果. $len = strlen($str); //数组存在数组中 $array = array(); for($i=0;$i<$len;$i++) { arr

  • thinkPHP事务操作简单案例分析

    本文实例讲述了thinkPHP事务操作.分享给大家供大家参考,具体如下: 1.说明 Db::startTrans(); try{ 操作: 对象->save(); Db::commit(); } catch (Exception $ex) { Db::rollback(); throw $ex; } 2.案例 private function createOrderByTrans($snap) { Db::startTrans(); try { $orderNo = $this->makeOrd

  • MySQL几种更新操作的案例分析

    目录 案例分析 更新账户金额 直接更新 乐观锁方案 无锁方案 排队操作 常见问题 如果数据中存在 update_time 字段受影响的行数是多少? 如果执行 update 更新但受影响的行数为 0 会加行锁吗? 参考资料 本文将通过一个 用户账户金额更新的案例 分析几种数据更新的操作的优劣.希望对大家有帮助

  • seajs和requirejs模块化简单案例分析

    本文实例讲述了seajs和requirejs模块化.分享给大家供大家参考,具体如下: 如今,webpack.gulp等构件工具流行,有人说seajs.requirejs等纯前端的模块化工具已经被淘汰了,我不这么认为,毕竟纯前端领域想要实现模块化就官方来讲,还是有一段路要走的.也因此纯前端的模块化工具依然有价值,而且就我了解一些中小企业一直都在用纯前端的模块化手段. 如今,重新关注seajs和requirejs,不求理解多么深刻,要求会用能用就可以. 模块化的起因是传统的直接引入js方法存在问题:

  • php实现的数组转xml案例分析

    本文实例讲述了php实现的数组转xml.分享给大家供大家参考,具体如下: 0x00 需求 最近要做百度.360.神马搜索的网站sitemap,三家的格式都是xml,然而具体的细节还有有差别的. 一开始用的是dom,没有使用sax,写了几段便觉得太傻了,想到有没有数组转xml的库呢? 0x01 array2xml 搜索了一下,还真有地址为git,于是开始撸起袖子开始干. 示例如下: THE CODE: $xml = new ArrayToXML(); print $xml->buildXML($i

  • php 的多进程操作实践案例分析

    本文实例讲述了php 的多进程操作.分享给大家供大家参考,具体如下: php的多进程处理依赖于pcntl扩展,通过pcntl_fork创建子进程来进行并行处理. 例1如下: <?php $pid = pcntl_fork(); if($pid == -1) { //错误处理:创建子进程失败时返回-1. die('fork error'); } else if ($pid) { //父进程会得到子进程号,所以这里是父进程执行的逻辑 echo "parent \n"; //等待子进程

  • Android SQLite数据库增删改查操作的案例分析

    Person实体类 复制代码 代码如下: package com.ljq.domain; public class Person {    private Integer id;    private String name;    private String phone; public Person() {        super();    } public Person(String name, String phone) {        super();        this.n

  • Spring框架设值注入操作实战案例分析

    本文实例讲述了Spring框架设值注入操作.分享给大家供大家参考,具体如下: 一 配置 <?xml version="1.0" encoding="GBK"?> <!-- Spring配置文件的根元素,使用spring-beans-4.0.xsd语义约束 --> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http:

  • JAVA操作HDFS案例的简单实现

    本文介绍了JAVA操作HDFS案例的简单实现,分享给大家,也给自己做个笔记 Jar包引入,pom.xml: <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.8.0</version> </dependency> <dependency> <gr

  • Java针对封装数组的简单复杂度分析方法

    本文实例讲述了Java针对封装数组的简单复杂度分析方法.分享给大家供大家参考,具体如下: 完成了数组的封装之后我们还需对其进行复杂度分析: 此处的复杂度分析主要是指时间复杂度分析,算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否. 1.简单概念 在各种不同算法中,若算法中语句执行次数为一个常数,则时间复杂度为O(1),另外,在时间频度不相同时,时间复杂度有可能相同,如T(n)=n2+3n+4与T(n)=4n2+2n+1它们的频度不同,但时间复杂

随机推荐