PHP演绎(数组)

用友U8其中一个账套提示演示期已到期-修复方法 【事件始末】 一朋友求助,反馈使用的用友U8,很多年了! 突然发现其中账套2021年的一个账套打不开,提示演示期限已到期! 但是其他账套完全正常,可以打开,没有任何问题。 不管是还原老旧备份,还是重装软件问题依旧,无法自己解决。 客户查询报表结算账期,情况比较紧急,于是求助我们。 经过多次反复琢磨和烟酒,终于于晚上23点59分给弄了出来,也总是圆满解决问题了。 【问题分析】 该用户打的是 U82X免狗补丁,估计是该补丁文件设置了 最大有效期,补丁到期了导致的。 也有可能是程序... 阅读详情

第一章 数组

第一节
数组是最常见的批量数据存储结构,由于数组采用顺序存储,所以可以方便的进行随机存储。
在很多语言中,数组都是静态的,必须在使用前指定数组的长度,而在PHP中,你完全不用操心这个问题,数组是完全动态的。你甚至可以这样来使用一个数组。

PHP CODE

// DEMO of Array
demo_array[] = 1;
demo_array[] = 2;


下面我们用数组来模拟一下中国广大的劳动人民很喜欢的一种体育运动——麻将的洗牌。这里先普及一下麻将的规则,以后伺候MM的母亲时有用的:)。首先,麻将是要4个人玩的,3P是不行的。总共108张牌,摸完牌后庄家14张,另外3人每人13张,还剩55张。(麻将全国有N种玩法,这里讲的是Easy家乡的玩法 ,没有中发白等花牌,是Easy见过的玩法中最简单的了。)然后我们来分析一下如何用随机数来模拟这个过程,这样的练习不妨多做,因为从具体事例中提取出数学模型是编程的基本功。首先,我们用一个长度为108的数组来存放这108张牌,初始化的时候不妨假设它们是顺序排放的。然后,我们来模拟洗牌的过程,这实际上是若干次的两张牌交换的过程。我们产生两个在1~108之间的随机数,然后交换以这两个数为index的数组元素的值就可以了。因为要多次交换,我们可以把这个过程定义为一个函数。接着,就是把这108张牌分给4个人,实际上,只要前边的交换次数足够大,直接切成5份就OK了。不过为了更好的模拟现实和表现数组的特性,我们采用循环的方式来分发。就是每个人一次四张,然后一个人一张,庄家两张。好了,整个过程就是这样的了。下边我们通过程序来说明一些更为细节的东西。

PHP CODE
<?php
/** ************************************************************
* 一个使用数组来模拟麻将洗牌和发牌过程的例子
* @ Easy@bjpeu.edu.cn
* @ 2003-6-3
** *************************************************************/

// 换牌函数
function swap()
{
// 将$majiangArray定义为全局变量
// 这样可以在函数中进行操作
global $majiangArray;

// 产生两个1到108的随机数
$index1 = rand( 1 , 108 );
$index2 = rand( 1 , 108 );

// 交换相应的数组元素的值
$tmp = $majiangArray[ $index1 ];
$majiangArray[ $index1 ] = $majiangArray[ $index2 ];
$majiangArray[ $index2 ] = $tmp;
}

// 将数组的内容用相应的图片表示出来的函数
function showArray( $arrayName )
{
$count = count ( $arrayName );
for (
$i = 0 ; $i < $count ; $i++ )
{
echo
'<img src="img/'. $arrayName[ $i ] .'"> ';//显示相应的图片
}
echo
'<p>';//换行
}

// 主程序部分开始

// 初始化数组
unset( $majiangArray );
$majiangArray[] = '0'; // 数据从1开始存放,跳过0
for ( $i = 1 ; $i <= 3 ; $i++ )// 共有三种花色
{
for (
$j = 1 ; $j <= 9 ; $j++ )// 一个花色中有九种牌
{
for (
$k = 1 ; $k <= 4 ; $k++ )// 每种牌有四张
{
$majiangArray[] = $i . '_' . $j . '.gif';
}
}
}

// 开始洗牌
for ( $i = 1 ; $i <= 1000 ; $i ++ )// 循环变量i被重新赋值重用
{
swap();
}

// 初始化四个用户
unset( $user1 );
unset(
$user2 );
unset(
$user3 );
unset(
$user4 );

// $seek是进度指针,纪录当前应该从那里发牌
$seek = 1;

for (
$i = 1 ; $i <= 3 ; $i++ )// 总共摸三次四张的
{
for (
$j = 1 ; $j <= 4 ; $j++ )// 四个人
{
for (
$k = 1 ; $k <= 4 ; $k++ )// 一次四张
{
$name = 'user'.$j;
${
$name}[] = $majiangArray[ $seek++ ];
}
}
}

// 然后一人一张
for ( $i = 1 ; $i <= 4 ; $i++ )
{
$name = 'user'.$i;
${
$name}[] = $majiangArray[ $seek++ ];
}

// 最后庄家多摸一张
$user4[] = $majiangArray[ $seek ];

// 分牌结束 显示结果
showArray( $user1 );
showArray( $user2 );
showArray( $user3 );
showArray( $user4 );

?>

现在来看看我们的成果吧:

是不是很有成就感呢?什么?看起来怎么有点怪怪的?因为没有人会这样放牌,我们总是把一组牌放到一边,按顺序排列(听说也有故意把牌乱放的人,不过,那都是骨灰级的玩家了~),所以,下一节我们将继续完善这个程序,来讨论数组的排序问题。
【Qt】QtCreator远程部署、调试程序 1)QtCreator 工具–> 选项 --> 设备 --> 添加2)设备设置向导选择–> Generic Linux Device --> 开启向导3)填写“标识配置的名称”(随便写)、设备IP、用户名 --> 下一步4)选择配对秘密文件,第一次配对,可以不填写,点击“下一步”5)点击“完成”6)设备添加成功,需要再配置SSH端口号、用户名、密码等7)保存SSH登陆密码:验证类型选择默认“Default”–> “创建新密钥”–> “Test” 阅读详情

相关推荐

搜索引擎——ElasticSearch汇总

汇总——ElasticSearch篇 全文检索 问题1:什么是全文检索? 基本概念:对**非结构化数据/结构化数据**先建立**索引**,再对索引进行搜索**文档**的过程叫做全文检索。 什么是非结构化与结构化数据? - 非结构化数据:没有固定的格式的数据(html,word,excel)---没有固定长度,字段约束,描述,散列数据 - 结构化数据:有固定的格式的数据(如:数据库数据)---有固定长度(varchar(50)),字段类型,描述修饰数据 搜索算法:顺序扫描法、倒排索引法 - 顺序

alonewolf_99的博客 1839

php演绎(2)——数组的排序

第二节 数组的排序 数组的排序是个让人很头痛的问题,光是各种名目的排序法就让人晕晕的了,不过它是如此的重要,以至于我们不能不重点讨论它。好在PHP已经提供了很多排序的函数,让你可以不去了解这些排序的细节。排序的原理和效率比较,我们会在后边的章节专门讨论。 PHP里最一般的排序函数是sort(),PHP手册里对它的描述如下: Sort (PHP 3, PHP 4 ) sort --

.: Easy Style - 将PHP进行到底 :. 1865

从CST到AD:高效PCB阵列设计与介质优化实战

本文详细解析了从CST电磁仿真软件到Altium Designer(AD)的PCB阵列设计全流程,重点解决毫米波天线等精密设计中模型导出、介质优化和阵列构建的核心难题。通过实战技巧,指导工程师高效处理DXF文件导入、复杂铜皮填充、空气介质实现等关键步骤,确保高精度设计从仿真到制造的顺利转换,提升工作效率与设计可靠性。

weixin_28256233的博客 439

php演绎(2)——数组的排序 (转)

php演绎(2)——数组的排序 (转)[@more@]第二节 数组的排序 数组的排序是个让人很头痛的问题,光是各种名目的排序法就让人晕晕的了,不过它是如此的重要,以至于我们不能不重点讨论它。好在PHP已经提供了很多排序的函数,让...

ciya3282的博客 106

anaconda安装-超详细版

文章目录一、anaconda安装1.1 anaconda安装地址1.2 安装详细步骤检验安装是否成功更改conda源(后续安装第三方库可以加快速度) 一、anaconda安装 Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。装anaconda,就不需要单独装python了。 anaconda优点: 1、anaconda里面集成了很多关于python科学计算的第三方库,主要是安装方便,而p

in546的博客 25万+

为什么需要知识图谱?什么是知识图谱?——KG的前世今生

我的知乎专栏,对知识图谱感兴趣的朋友可以关注。标题的命名顺序可能让有的读者不太习惯。通常在介绍一个陌生事物的应用前,我们先给出其定义。之所以换个顺序,是为了不让读者一开始就接触比较冰冷生硬的概念刻板描述(后面我尽量用更具体、准确的例子来表达),另一方面也是为了通过现实生活中的例子自然的引入知识图谱的概念。希望通过这种方式加深读者的印象和理解。为了减轻读者理解的负担,我尽可能地避免引入过多的概念和技术

SimmerChan的专栏 8万+

mongodb 数组查询 php,MongoDB PHP查询多维数组实现方法?

([_id] => MongoId Object([$id] => 52064a30f8c07620bad63af4)[rating] => Array([max] => 10[average] => 4.8[stars] => 25[min] => 0)[reviews_count] => 313[wish_count] => 6308[co...

weixin_34036075的博客 275

ArcGIS 泛克里金插值

按照如图所示的步骤填写参数,1处选择subset features。 2:输入数据。 3:输出训练数据。 4:输出测试数据。 5:80,表示80%的比例是训练数据,20%是测试数据。 6:输入的百分比。 1:选择geostatistical wizard。 2:插值方法,克里金插值 3:训练数据。 4:数据字段。 点击下一步: 1:表示泛克里金插值。 2:输出表面类型。 3:转换类型none。 4:趋势剔除的阶数。 点击下一步: 表示东北—西南方向变化平缓。 1:模型优化 2:模型类型(stabl.

yuanYW7556的博客 7275

PHP判断远程url是否有效的几种方法

前提 需要判断远程URL是否有效,远程url包括远程图片,网页,视频等等元素 解决办法: 使用PHP解决 使用file_get_contents函数,不过优缺点如果url无法访问,会出现终止程序问题 使用curl返回,然后判断是否正确执行 使用ge

3585

Avellaneda & Stoikov’s market-making strategy AS模型的通俗理解篇(一)

δa, δb = bid/ask spread, symmetrical → δa=δb 也就是一段时间内,这个midprice 上蹿下跳的幅度计算,其实做市也就是一种网格,或者说类似布林带,我们经过计算在底部放买单,在高点放一个卖单,如果上下都成交了,那么仓位不变,你把利差赚了。一般来说在震荡行情中,很适合做市,特别是波动率不高情况下,我们通过AS的经典论文得到2个最关键公式,下面来解读一下这个公式的含义,如何在hummingbot 策略中如何设置这些参数。如果单边上涨,你就无货可卖,俗称卖飞了。

weixin_42480337的博客 1万+

cocos2dx中DrawNode画线锯齿和非凸多边形填充

记录一下在cocos2dx中使用DrawNode所遇到的2个问题 1.画线锯齿问题 ios版本下,在AppController.mm中设置CCEAGLView的multiSampling和numberOfSamples。如下图 CCEAGLView *eaglView = [CCEAGLView viewWithFrame: [window bounds]

hello-world 5414

PHP 是剧本,CPU 是演员。

"PHP 是剧本,CPU 是演员”—— 这句话道尽了软件与硬件的鸿沟。普通程序员只关心剧本写得精不精彩(业务逻辑)。高级程序员开始关注导演翻译得顺不顺(架构与框架)。顶级程序员则深入研究演员的肌肉纹理和反应速度(底层原理、CPU 缓存、指令集),从而写出能让演员飙戏的剧本。愿你的代码,既是有深度的好剧本,又能让 CPU 这位影帝,演绎出极致的性能大片!🎬🍿⚡。

长风破浪会有时的博客 82

【用unity实现100个游戏之1】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(一)(附源码)

俯视角射击游戏)是一类以俯视视角进行游戏展示的射击游戏。在这种游戏中,玩家控制着一个角色或载具,从俯视的角度上方观察游戏世界,并与敌人进行战斗。这种视角使玩家能够有更好的全局观察和策略性,同时也强调快速反应和精确射击。视角:俯视角度可以是固定的,也可以随着玩家角色的移动而变化,但都允许玩家以全局视角观察整个战场,有利于制定战略和规划行动。射击:玩家通常需要使用各种武器来与敌人进行战斗,包括枪械、爆炸物等。射击动作依赖于玩家的反应速度和准确性。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 7832

PHP学习之变量

一、基础PHP 中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。变量名与 PHP 中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。注意:$this 是一个特殊的变量,它不能被赋值。第一种变量赋值方式(默认赋值方式):传值赋值。当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。这意味着,例如,当一个变...

MX_studying的博客 333

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

读取映射驱动的php文件,获取文件MIME类型的php代码

Php 获取文件mime类型的几种方法多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。 php获取文件mime类型有以下几种方法: )六年前,打开QQ,选择上线,不断的加着好友;五年前,打开QQ,选择上线,会弹出N个窗口,聊的不亦乐乎;四年前,打开QQ,选择上线,偶尔弹出几个窗口,聊来不过几句;三年前,打开QQ,选择上线,期待着弹出窗口,结果却只有期待。mime_content_ty...

weixin_39631301的博客 178

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

[置顶] PHP判断远程url是否有效的几种方法

前提 需要判断远程URL是否有效,远程url包括远程图片,网页,视频等等元素 解决办法: 使用PHP解决 使用file_get_contents函数,不过优缺点如果url无法访问,会出现终止程序问题 使用curl返回,然后判断是否正确执行 使用get_headers函数,根据HTTP返回值查看是否有200 使用js解决: 使用原生的js函...

weixin_33885676的博客 86

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

php汉字转拼音

Unicode 起源与发展 Unicode是为了解决传统的字符编码方案的局限而产生的,例如ISO 8859所定义的字符虽然在不同的国家中广泛地使用,可是在不同国家间却经常出现不兼容的情况。很多传统的编码方式都有一个共同的问题,即容许电脑处理双语环境(通常使用拉丁字母以及其本地语言),但却无法同时支持多语言环境(指可同时处理多种语言混合的情况) 在文字处理方面,统一码为每一个字符而非字

小一的专栏 1803

php日历如何写,如何写一个好看的实用的日历

本文发布在我的博客如何写一个日历组件许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。众所周知,虽然javascript中关于时间的API有不少,我们可以通过方法单独的获取年、月、日、时、分、秒、毫秒...貌似很多,最近写了一个日历(以前写的,但写得很烂,最近优化一下),所以下面简单的记录一下如何写一个日历,列出了一些我在写日历过程中自己封装的一些方法效果图先...

weixin_29699433的博客 239

我的通用程序规范及说明

我的通用程序规范及说明=========================================前言-----------------------------------------每个项目程序功能大多数是相同的,而程序员最应该做的事就是复用你的代码,甚至项目。所以才有了我做通用程序的想法。 程序功能的相同点:每个项目,都需要后台程序。而后台程序50%以上的东西都是复用的。比如: 登录,...

weixin_30496751的博客 110

蓝桥杯国赛A组试题深度解析:从问题抽象到算法优化的实战指南

算法竞赛的核心在于将现实问题转化为可计算的数学模型,这一过程涉及问题抽象、算法选型与优化。动态规划通过定义状态和转移方程解决具有最优子结构的问题,而深度优先搜索和广度优先搜索则用于状态空间中的路径寻找,两者都需要结合剪枝等优化策略以应对大数据规模。在工程实践中,清晰的代码结构、严谨的边界处理以及对数据范围和复杂度的敏感度,是保证算法高效正确实现的关键。本文以2018年蓝桥杯国赛A组试题为切入点,深入剖析了动态规划的状态设计与搜索算法中的剪枝技巧,为备赛者提供了从读题建模到编码调试的完整方法论,助力提升解决复

weixin_34239169的博客 321

ThinkPHP Redis实现模拟队列

ThinkPHP Redis实现模拟队列 1.入队操作: //入队 public function enqueue() { $redis = new \Redis(); $redis->connect('127.0.0.1',6379); $arr = a...

swjian1997的博客 614

好巧,七夕最新8月书单出炉!送给你程序员

8月好书赏不停,七夕奉上8月新书单,请收下。 1、计算广告:互联网商业变现的市场与技术(第2版) 作者:刘鹏、王超 全球第一本全面讲解计算广告与互联网变现秘密的专业图书升级版 @北冥乘海生 刘鹏老师力作;众多互联网公司管理层与创业者联袂推荐的好书 在新版中,我们特别注重了从人工智能方法论的视角审视整个计算广告体系。通过本书对计算广告领域抽丝剥茧的解读,读者会认识到,除解决传统的感...

人邮异步社区 635

做个火车余票查询接口,余票来源12306,图是百度地图

摘要:做个火车票查询余票接口,数据来源于12306,地图使用百度地图(未完成) 今天本来想查询一下回家的车票,结果坑爹的发现12306网站死活打不开,尼玛真实坑爹,想查询一下余票都怎么难 于是自己决定做个火车余票查询接口, 功能: 火车余票查询 这个很重要,数据实时来源于12306,无需输入验证码 车次查询 飞机票查询,有这个接口顺便就使用上了,想买机票的朋友也试试 接口使用:

1万+

扩展KMP

扩展 KMP 算法 2017 年 03 月 12 日 • 阅读: 256 • 技术 前文已经介绍了经典的 KMP 算法,本文继续介绍 KMP 算法的扩展,即扩展 KMP 算法。问题定义:给定两个字符串 S 和 T(长度分别为 n 和 m),下标从 0 开始,定义extend[i]等于S[i]…S[n-1]与 T 的最长相同前缀的长度,求出所有的extend[i]。举个例子,看下表:i 0

Fire Dancer 476
上一篇: Echo指南(一)
下一篇: php演绎(2)——数组的排序
KBUG
博客等级 码龄24年 5粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值