PB中取字符串子串的函数是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PB中取字符串子串的函数是啥相关的知识,希望对你有一定的参考价值。

参考技术A 分类: 电脑/网络 >> 程序设计 >> 其他编程语言
解析:

Left()

功能得到字符串左部指定个数的字符。

语法Left ( string, n )

参数string:string类型,指定要提取子串的字符串n:long类型,指定子串长度返回值String。函数执行成功时返回string字符串左边n个字符,发生错误时返回空字符串("")。如果任何参数的值为NULL,Left()函数返回NULL。如果n的值大于string字符串的长度,那么Left()函数返回整个string字符串,但并不增加其它字符。

Mid()

功能取字符串的子串。

语法Mid ( string, start , length )

参数string:string类型,指定要从中提取子串的字符串start:long类型,指定子串第一个字符在string字符串中的位置,第一个位置为1length:long类型,可选项,指定子串的长度返回值String。函数执行成功时返回string字符串中从start位置开始、长度为length的子串。如果start参数的值大于string中字符个数,那么Mid()函数返回空字符串。如果省略了length参数或length参数的值大于从start开始、string字符串中余下字符的长度,那么Mid()函数返回所有余下的字符。如果任何参数的值为NULL,Mid()函数返回NULL。

Right()

功能从字符串右端取指定个数字符。

语法Right ( string, n )

参数string:string类型,指定要提取子串的字符串n:long类型,指定子串长度返回值String。函数执行成功时返回string字符串右边n个字符,发生错误时返回空字符串("")。如果任何参数的值为NULL,Right()函数返回NULL。如果n的值大于string字符串的长度,那么Right()函数返回整个string字符串,但并不增加其它字符。

检查“不为空”或空字符串的 PHP 语法是啥? [复制]

【中文标题】检查“不为空”或空字符串的 PHP 语法是啥? [复制]【英文标题】:What is the PHP syntax to check "is not null" or an empty string? [duplicate]检查“不为空”或空字符串的 PHP 语法是什么? [复制] 【发布时间】:2012-06-28 02:42:25 【问题描述】:

可能重复:Check if a variable is empty

简单的 PHP 问题:

我有这个词根:

if (isset($_POST["password"]) && ($_POST["password"]=="$password")) 
...//IF PASSWORD IS CORRECT STUFF WILL HAPPEN HERE

在此语句上方的某处,我在我的 JavaScript 中使用以下行将用户名设置为我的 JavaScript 和 PHP 中的变量:

uservariable = <?php $user = $_POST['user']; print ("\"" . $user . "\"")?>;

我想要做的是添加一个条件以确保 $user 不是 null 或空字符串(它不必是任何特定值,我只是不希望它为空。什么是这样做的正确方法?

我知道这是一个愚蠢的问题,但我没有使用 PHP 的经验。请指教,谢谢!

【问题讨论】:

请在提问前使用搜索功能,正如***.com/questions/ask-advice 中提示的那样。之前有人问过并回答过:***.com/search?q=check+for+empty+value+php 【参考方案1】:

Null 或空字符串?

if (!empty($user)) 

使用 empty()。


在意识到 $user ~= $_POST['user'] 之后(感谢 matt):

var uservariable='<?php 
    echo ((array_key_exists('user',$_POST)) || (!empty($_POST['user']))) ? $_POST['user'] : 'Empty Username Input';
?>';

【讨论】:

看起来我对这个问题的理解与其他人不同……我们说的是 $user,而不是 $_POST['user'],对吧? $user 在他的代码中被分配给$_POST['user']。还不如在分配前验证,但这真的没关系 嗯,到底有什么区别?如果我做错了什么,请告诉我! @mattedgod - 好点。我错过了。 我喜欢这种方式。我希望这是正确的。但我仍然遇到错误。意外的“;” ...我不明白这部分:'空用户名输入'【参考方案2】:

使用empty()。它会检查空字符串和 null。

if (!empty($_POST['user'])) 
  // do stuff

来自手册:

以下的东西被认为是空的:

"" (an empty string)  
0 (0 as an integer)  
0.0 (0 as a float)  
"0" (0 as a string)    
NULL  
FALSE  
array() (an empty array)  
var $var; (a variable declared, but without a value in a class)  

【讨论】:

请注意,如果 $_POST 上未设置“用户”,您将收到警告。它仍然可以工作,但它会很快填满您的日志。我通常通过以下方式缓解这种情况:if ((array_key_exists('user',$_POST)) || (!empty($_POST['user'])) 这三个都给我错误信息: if (isset($_POST["password"]) && ($_POST["password"]=="$password") && (array_key_exists('user',$_POST)) 并且如果(isset($_POST["password"]) && ($_POST["password"]=="$password") && (!empty($_POST['user'])) 和 (isset($_POST["password "]) && ($_POST["password"]=="$password") && (!empty('$user')) 我没有检查日志,当我转到页面时,我看到“php sytax error on line 173”

以上是关于PB中取字符串子串的函数是啥的主要内容,如果未能解决你的问题,请参考以下文章

字符串子串的查找

求字符串不同子串个数

UVA 11475 后缀数组/KMP

检查“不为空”或空字符串的 PHP 语法是啥? [复制]

匹配重写规则的空字符串的正则表达式是啥?

在 Java 中连接空字符串的正确方法是啥?