首页 开发编程 正文

php怎么打印函数

publicstaticvoidmain(String[]args){longbegain=System.currentTimeMillis();//开始系统时间try{Thread.sleep(100);//判断时间while(true){System.out.println(CheckTime-begain);try{Thread...

php怎么打印函数,php中怎么让程序一直运行下去?

public static void main(String[] args) { long begain = System.currentTimeMillis();//开始系统时间 try { Thread.sleep(100); } catch (Exception e) { e.printStackTrace(); } long CheckTime = System.currentTimeMillis(); //判断时间 while(true){ System.out.println(CheckTime-begain); try { Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } CheckTime = System.currentTimeMillis(); if((CheckTime-begain)>=(30*1000)){//判断时候到30秒 System.out.println("30秒后结束"); break; } } }给你的答案希望你能满意

PHP如何判断字符串是否标准JSON?

引言

在MYSQL 5.6及以下没有 JSON 这个字段类型的时候,我们还只能用字符串存储数组,对象,这些结构数据;甚至有直接将序列化的对象存库的,都是无奈之举。

编程中也时不时对接口进行json_encode / json_decode。那么如果所得的字符串不是标准的格式,有什么办法快速检测吗?

本文就来说一说。

学习时间

最快的办法,还是使用PHP内置的 json_decode 函数,对于此函数的参数和返回值,我们需要认真地分析。

该函数接受一个 JSON 编码的字符串并且把它转换为 PHP 变量。函数结构:

mixed json_decode( string $json[, bool $assoc = false[, int $depth = 512[, int $options = 0]]] )

除了第一个字符串类型的$json必填之外,其他都是选填。如果我们定制功能,需要后面的参数也指定。比如,解码的字符串解析为关联数组,那么就指定 $assoc = true。

考虑到兼容性的要求,$json 传入的字符串,必须是 UTF-8 编码格式。

我们试着编写一个助手函数,用于判断字符串是否标准的json格式:

function isJson($string) { json_decode($string); return (json_last_error() == JSON_ERROR_NONE); }

这个方法使用了2个函数,和1个常量。其中 json_decode 是对字符串解码暂且不说。json_last_error 函数,如果有返回值,则是 JSON 编码解码时最后发生的错误。

JSON_ERROR_NONE 是无错误,=0。该句判断没有错误则是标准格式,返回 true;否则返回 false。

深入学习

其实上面的代码对于 json 加解码过程中的错误判断还是比较粗糙的。有一位小哥不嫌繁琐,手动拼装了详细的错误处理函数,非常实用。

使用上述函数进行测试:

$json = '[{"user_id":13,"username":"stack"},{"user_id":14,"username":"over"}]'; $output = json_validate($json); print_r($output);

输出内容如下:

这是正常的情况,json 格式完全正确。我们再测试一个不是规范格式的字符串。

$json = '{background-color:yellow;color:#000;padding:10px;width:650px;}'; $output = json_validate($json); print_r($output);

输出错误信息:

Syntax error, malformed JSON.

万能的正则

跟字符串打交道,正则表达式几乎可以做一切你想要的结果。json 字符串也一样,据文档所说,使用正则表达式判断JSON格式,稳定有效,而且速度还很快。

下面这个正则表达式您拿小本本记好了,一模一样地抄下来用就可以了。

return !preg_match('/[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]/', preg_replace('/"(\\.|[^"\\\\])*"/', '', $json_string));

写在最后

如果考虑程序的可读性,和可维护性,使用 json_decode 函数的判断无疑更直观,大家也更熟悉。然而正则表达式所体现出的高效也是不容小觑的。

Happy coding :_)

我是 @程序员小助手 ,持续分享编程知识,欢迎关注。

有哪些的实用网站推荐?

63个精品网站,已经打包成文档,手机和电脑均可直接打开,效果如下:

每个类别选择1-2个介绍

1、优品PPT

一个有情怀的免费PPT模板网站,用户量大、模板质量高、更新快、资源多。总结汇报、商务、精美、简约、论文、述职、个人简历、开题报告等多种不同场合,满足各种需求。看到好的模板网站只需一键就能免费下载,且下载不限速,速度很快。此外网站提供PPT背景、图表、素材、教程、字体等,可谓是非常良心了。

2、 电影天堂

电影爱好者的天堂。网站内部收藏了丰富的电影资源,2021年新品、必看热片、经典大片、华语电视剧、日韩剧、美剧、动漫、综艺等等,资源更新快,一直有人在维护。每个电影资源都会有影片介绍,包括年代、类别、简介、上映日期、截图等等,而且会提供多个在线播放和下载地址。

3、wikiHow

互联网上最值得信赖的指南网站。网站提供了各种类别的生活指南,健康类、人际关系、家庭生活、工作、金融商业、饮食悠闲、计算机于电子产品等,共计90000多篇学术研究文章和500多位专家共同创作的30000多篇文章。专业但不怕看不懂,网站已经用通俗的语言和图片的形式供读者阅读,通俗易懂。

4、鸠摩搜索

强大的搜书网站。想看书,占不到资源怎么办?不怕,这个网站含大量的电子书,搜索你想要下载的书籍名称或作者名便可检索多个下载源,网站提供电子书txt格式,良心。

5、removebg

全称叫做remove background,移去图片背景,通俗来说就是抠图。不会PS的小伙伴要抓紧时间收藏了,只需将所需要抠的图片上传,后台会自动帮我们抠出图片主体。这里我测试了一张美女高清大图,头发丝都能抠出,这算法强大。去除背景的图片可直接下载保存到本地。

6、unsplash

找不到图片素材?这个网站含众多精美图片,图片质量高,重要的是免费下载可商用。此网站是外国网站,但是加载速度非常快,下载也快。各种图片种类,壁纸类、自然类、任务类、建筑类等,点击上方导航栏就可以直接跳转到相应的类别,不用怕英语不好不知道搜什么。

7、Smallpdf

Pdf文档处理网站,工具多。在这里你可以对PDF进行压缩、转换。支持word、PPT、JPG、Exel等相互转换。且支持PDF编辑,如分割、合并、加密、解密、删除页面、旋转等操作,功能还是非常强大的。

8、oeasy教程

网站作者是个全能大神。免费提供各种技能的教程视频,系统、编程、平面设计、影视、动画、音频等,如PS、PR,教程可以免费观看和下载,资源丰富,很良心,想学技能的小伙伴不要错过。

一直分享一直爽。

PHP如何统计指定字符串出现的次数?

php内置就有个函数可以的 翻翻php手册就能找到的

substr_count

(PHP 4, PHP 5)

substr_count — 计算字串出现的次数

说明

intsubstr_count ( string$haystack , string$needle [, int$offset = 0 [, int$length ]] )

substr_count() 返回子字符串needle 在字符串 haystack 中出现的次数。注意 needle 区分大小写。

参数haystack在此字符串中进行搜索。

needle要搜索的字符串。

offset开始计数的偏移位置。

length指定偏移位置之后的最大搜索长度。如果偏移量加上这个长度的和大于 haystack 的总长度,则打印警告信息。

返回值 该函数返回整型。

控制台程序中怎么调用和执行JS代码?

window.open("http://www.zhihu.com/")可以新打开一个窗口并获得这个窗口的window对象,然后你的所有代码都对这个新的window对象做操作另外,注意1. window对象访问有跨域限制,所以当前js执行的域和新窗口打开的网址域名要一致2. 直接在控制台执行window.open弹出窗口会被浏览器拦截,通过一个按钮点击事件触发则不会

本文转载自互联网,如有侵权,联系删除