首页 开发编程 正文

php字符串怎么提取

JS获取PHP页面变量值怎样比较合适?2、php中怎样实现sql字段包含于字符串?sql提供了以下几种匹配模式:3、PHP如何判断字符串是否标准JSON”还是使用PHP内置的json_decode函数。...

php字符串怎么提取,JS获取PHP页面变量值怎样比较合适?

JS获取页面,要么是字符,要么是JSon,看你喜欢用哪种方式。而调用方式是Ajax。

我喜欢用字符形式,用特定分隔符隔开多个参数值,获取后再解析好即可。

如果获取的是复杂的长的参数值,建议采用JSon的格式。

你可以分别试试这两种方式,联系熟了,就容易使用了。

php中怎样实现sql字段包含于字符串?

谢谢邀请!

sql语法支持楼主所说的功能:输入一个字符串,匹配字符串中的某些字段,模糊查询,关于模糊匹配的格式,楼主可以随便查询下SQL语法都能找到,select * from tbl_user where staus like '%头痛2日%'; 式如下:select 字段 from 表 where 某字段 like 条件,其中关于条件,sql提供了以下几种匹配模式:

(1)、%:表示零个或多个字符。

可以匹配任意类型和任意长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。比如:select * from tbl_user where staus like '%头痛2日%'; 将会把tbl_user这张表里面,列名status中含有“头痛2日”的记录全部查询出来。

(2)、_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度。

比如select * from ftbl_user where status like __头通2日; 只能找到类似“某某头通2日”这样的症状记录。

(3)、[]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配的对象为他们中的任一个。比如select * from tbl_user where status like '[头眼耳]痛';将找出“头痛”“眼痛”“的记录。

(4)、[^]:表示不在括号所列之内的单个字符。其取之和[]相同,但它所要求匹配对象为指定字符以外的任一个字符。比如select * from tbl_user where status like'[^头眼耳]痛'; 将找出不是头痛,眼痛, 耳痛之外的心痛。

注意事项:查询内容包含通配由于通配符的缘故,导致查询特殊字符“%”、“_”、“[”的语句无法正常实现,把特殊字符用“[]”括起来便可以正常查询。

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 :_)

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

php中怎么将日期字符串转换为Date类型?

程序猿一枚,喜欢生活的一切,欢迎交流。

不贴代码都是耍流氓,所以我贴代码。

第一种:

参数一指定格式,参数二传入需要转换的字符串。

第二种:

多看看API就好啦。类型转换属于基础方法,熟才能生巧。

祝你早日进步。

php里获取前一天的时间?

//获得当前时间

//date()格式化时间返回String类型。 date("Y-m-d H:i:s")

$current_date = date(’Y-m-d’,time());

//根据当前时间加一周后

$weekLater = date(’Y-m-d’,strtotime("$current_date + 1 week"));

echo $weekLate;

// 2009-05-26 加一天的日期

$tomorrow = date(’Y-m-d’,strtotime("2009-05-26 + 1 day"));

echo $tomorrow; // 2009-05-27

也可以这样 date("Y-m-d",strtotime("-1 day")) ;直接获得前一天时间

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