PHP生成随机字符串程序代码
利用for循环把我们定义好的字符遍历即可
代码如下 | 复制代码 |
|
可以生成指定长度的纯数字字符串、字符字符串等等。
(大写、小写、大小写及大小写与数字的组合,还可以根据喜好进行扩充)。
下面的$length=5,如果你改成10就是10位。
把$str = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' 改成$str = '0123456789' 就是纯数字字符串。
代码如下 | 复制代码 |
<?php //使用方法如下 |
或使用while
代码如下 | 复制代码 |
<?php ?> |
利用数组和字符转换的思想:
代码如下 | 复制代码 |
<?php |
json_encode() ,PHP数据->JSON
json_encode只有一个参数,参数除了resource 类型之外,可以为任何数据类型。但是我们一般是传入数组,如下例子
代码如下 | 复制代码 |
$arr = array( |
得出的是json字符串
{"name":"manson","age":23,"sex":1}
这时一般是把转换后的字符串输出到前端处理,常用于ajax做数据交互,或者一些前端模板的数据输出。json_encode需要注意的一个问题就是中文的编码问题,假如PHP页面的编码是非utf-8的,在json_encode之前,必须把有中文内容的部分转换成utf-8编码,否则输出到前端的时候会乱码。解决的方法网上有很多,这里举一个简单的编码转换例子
代码如下 | 复制代码 |
$arr = array( "name" => "张三", "age" => 23, "sex" => 1 ); $arr['name'] = iconv("gbk","utf-8",$arr['name']); $json_str = json_encode($arr); |
PHP数据
json_decode有两个参数,第一个参数是待解码的json字符串,传入的一定要是一个合符规范的json格式,其实json_decode就是json_encode的逆过程
代码如下 | 复制代码 |
$json_str = '{"name":"manson","age":23,"sex":1}'; |
这里需要注意的是,json_decode的第2个参数传的是true,意思是解码后返回数组格式,假如传false或是不传第2个参数,解码后将返回对象格式,例如上面的代码返回对象格式是
代码如下 | 复制代码 |
object(stdClass)#1 (3) { ["name"]=> string(6) "manson" ["age"]=> int(23) ["sex"]=> int(1) } |
对象格式相对于数组格式来说,取得对应数据的难度会增大,特别对于多层级数据结构,还是转换成数组形式为好,也就是json_decode第2个参数记得传true。
处理提交的JSON数据
POST方式(GET方式也要注意)向PHP提交了一个JSON数据,比如:
代码如下 | 复制代码 |
{"a":1,"b":2} |
在PHP中取出这个数据:
代码如下 | 复制代码 |
$s=$_POST['data'] ;//or $_GET['data'] |
然后这个串取出后是被转义的:
代码如下 | 复制代码 |
{"a":1,"b":2} |
如果直接调用:
$obj = json_decode($s); print_r($obj);
代码如下
复制代码
echo $obj->a;
是错误的,会报告错误.
如果$s直接定义:
代码如下 | 复制代码 |
$s='{"a":1,"b":2}'; |
则没有问题.
所以在PHP中处理JSON时需要进行一下转义处理:
代码如下 | 复制代码 |
$s=stripslashes($_POST['data']) ; |
这样再进行json解码就可以了.
PHP 获取接口内容
假设接口文件页面为:/api.php?action=open_getBlogList&only_recommend=1&limit=5 ,那么我们可以使用下面语句获取这个接口文件内容:
代码如下 | 复制代码 |
$handle = fopen("/api.php?action=open_getBlogList&only_recommend=1&limit=5","rb"); $content = ""; while (!feof($handle)) { $content .= fread($handle, 10000); } fclose($handle); |
这样 content 保存的就是 JSON api 内容。
PHP 解析 JSON 并显示
原始的内容是无法直接调用的,必须被 PHP 进行进一步处理,才能被调用显示在网页中。在 PHP 5.2 及后续版本中,使用 json_decode() 函数来解析 JSON 数据,将其转换成 PHP 可以调用的数据格式。例如:
代码如下 | 复制代码 |
$content = json_decode($content); |
解析之后呢,我们就可以按照 PHP 中调用数组数据的方法一样的调用 JSON 中的数据。这个调用方法需要按照具体的 JSON 数据格式来写,演示请看下面。关于 json_decode 函数的使用,具体看 PHP 手册,这里不再赘述:http://php.net/manual/en/function.json-decode.php
实战 api
细心的朋友会发现 潜行者m 博客的边栏最下面多了一个“友文推荐”模块,里面推荐了一些琼台博客的文章。
友文推荐是琼台博客倡议的一种博客之间交流方式,比传统的友情链接更有效,同时实现了博客内容互补。由于琼台博客的博客程序是他自己本人编写的,所以他提供了 JSON api 接口,可以获取到最新的可推荐的文章。
本人使用 PHP 获取这个 JSON 接口,然后输出到自己博客的边栏中,下面来实战操作一下。
第一步,查看 api 调用方式
根据文档,我使用了 /api.php?action=open_getBlogList&only_recommend=1&limit=5 这样的参数,意思就是调用五条他推荐的文章。
第二步,获取 api 结构数据
很简单,上面说过了,具体代码如下:
代码如下 | 复制代码 |
$handle = fopen("/api.php?action=open_getBlogList&only_recommend=1&limit=5","rb"); $content = ""; while (!feof($handle)) { $content .= fread($handle, 10000); } |
fclose($handle);先打开这数据文件,然后把所有内容保存到 content 变量中,因为可以肯定 api 数据不会超过 10000个字符,所以用 10000 作为 fread 函数的第二个参数。这样,api 返回的 JSON 数据就保存在了 content 变量中。
第三步,解析并输出内容
使用下面代码解析数据,然后调用输出
代码如下 | 复制代码 |
$content = json_decode($content); |
首先对 content 变量中的 JSON 数据处理,然后变成 PHP 可以调用的数据,再使用 foreach 遍历输出这五条内容,按照我需要的 HTML 格式,将内容插入进去即可。
http请求包括两种,一种是我们普通的http请求登录,另一种是另一种https请求登录,下面我来分别给各位同学详细介绍利用curl_init来实现http与https进行登录。备注:使用curl_init函数,必须要打开这个php扩展。
1.打开php.ini,开启extension=php_curl.dll
2.检查php.ini的extension_dir值是哪个目录,检查有无php_curl.dll,没有的请下载php_curl.dll,再把php目录中的libeay32.dll,ssleay32.dll拷到c:/windows/system32里面。
发起http请求
代码如下 | 复制代码 |
function _http_curl_post($url,$data) |
调用方法
代码如下 | 复制代码 |
$params = array(); |
除了http请求之外还有一个https的请求,上次我做人人网的一键登录,它的接口就是https的url,使用上面的函数,最终报错。如果您也遇到这样的问题,你可以参考下面方法解决。
https请求示例
代码如下 | 复制代码 |
function _https_curl_post($url, $vars) |
1.获取一个数组中重复的元素。代码如下:
a.方法一:
代码如下 | 复制代码 |
function array_repeat($arr) |
b.方法二:
代码如下 | 复制代码 |
function array_repeat($arr) |
测试方法
代码如下 | 复制代码 |
$arr = array('apple','blue','red','banana','pear','apple','blue','color','color'); 结果: Array ( [5] => apple [6] => blue [8] => color ) |
后来代一些删除数组重复元素的方法
array_keys函数来删除数组重复元素。
*/
代码如下 | 复制代码 |
$a=array("red", "green", "blue", "yellow"); //array array_splice (array input, int offset [, int length [, array replacement]]) |
//下面看一个比较全面的删除重复值并且删除指定的数组元素
代码如下 | 复制代码 |
$array1 = array(1 => "www.111cn.net", 2 => "菠萝", 4 => "www.111cn.net",3 => "香蕉",4 => "芭乐",5 => "www.111cn.net",6 => "www.111cn.net"); $search_keys = array_keys($array1, "www.111cn.net"); foreach($search_keys as $key) { print_r($array1); /* //删除数组中重复元素的函数 |
在直接在ie浏览器中打开下面地址
http://ip.taobao.com/service/getIpInfo.php?ip=8.8.8.8
返回信息
代码如下 | 复制代码 |
{"code":0,"data":{"country":"u7f8eu56fd","country_id":"US","area":"","area_id":"","region":"","region_id":"","city":"","city_id":"","county":"","county_id":"","isp":"","isp_id":"","ip":"8.8.8.8"}} |
上面我们是直接在ie地址输入,这里我们利用php file_get_contents函数来获取
代码如下 | 复制代码 |
/** |
上面原因是通过file_get_contents由淘宝网返回的json格式的数据,我们再利用php json_decode函数转换成数组。
$IP地址需要我们提供,下面提供一个获取用户真实IP地址的函数
代码如下 | 复制代码 |
|
相关文章
- 这篇文章主要介绍了C#中截取字符串的的基本方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
- 这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
- 这篇文章介绍了C#判断字符串是否数字或字母的实例,有需要的朋友可以参考一下...2020-06-25
- 这篇文章主要介绍了PostgreSQL判断字符串是否包含目标字符串的多种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-23
- 这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
- 本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
- 这篇文章主要介绍了微信小程序 页面传值详解的相关资料,需要的朋友可以参考下...2017-03-13
- 本文实例讲述了php字符串按照单词进行反转的方法。分享给大家供大家参考。具体分析如下:下面的php代码可以将字符串按照单词进行反转输出,实际上是现将字符串按照空格分隔到数组,然后对数组进行反转输出。...2015-03-15
- 本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。...2020-06-25
- 这篇文章主要介绍了MySQL 字符串拆分操作(含分隔符的字符串截取),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
- 这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
- 大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
- 这篇文章主要介绍了使用list stream:任意对象List拼接字符串操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-09
- 这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
- 这篇文章主要介绍了uniapp微信小程序:key失效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
- 这篇文章主要介绍了C# 16 进制字符串转 int的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25
- JS中默认中文字符长度和其它字符长度计算方法是一样的,但某些情况下我们需要获取中文字符串的实际长度,代码如下: 复制代码 代码如下: function strLength(str) { var realLength = 0, len = str.length, charCode = -1;...2014-06-07
- 这篇文章主要介绍了PostgreSQL 字符串处理与日期处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-01
将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文
时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25- 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24