草庐IT

If-None-Match

全部标签

php - 为什么 preg_match_all() 会多次创建相同的答案?

以下代码从推文中提取#hashtags并将它们放入变量$matches中。$tweet="thishasa#hashtaga#badhash-taganda#goodhash_tag";preg_match_all("/(#\w+)/",$tweet,$matches);var_dump($matches);有人可以向我解释为什么以下结果有2个相同的数组,而不是只有1个吗?array(2){[0]=>array(3){[0]=>string(8)"#hashtag"[1]=>string(8)"#badhash"[2]=>string(13)"#goodhash_tag"}[1]=>a

php - 警告 : preg_match(): Compilation failed: unrecognized character after (? 或 (?-

我有一个以前的程序员编写的代码,一个抛出编译错误的正则表达式preg_match:$regex_t="/".$op."(?\\>[^".$op.$cl."]+)*".$cl."/s";preg_match($regex_t,$text,$inner);我收到的警告是:Warning:preg_match():Compilationfailed:unrecognizedcharacterafter(?or(?-atoffset4另外,我想提一下var_dump($regex_t)的值是:string'/\{(?\>[^\{\}]+)*\}/s'(length=21)

PHP : Is there a way, 把这个 if/elseif/else 语句写得更短?

所以过去几天我一直在积极学习PHP,并且为了练习,我编写了PHP脚本,它采用HTML表单值。我试着写脚本,我有5个人,你必须输入你的名字和姓氏。如果它与五个人中的一个相匹配,则发送一条消息,如果不匹配,则发送另一条消息。这是(没有表单部分,只有PHP):$first=$_POST["first"];$last=$_POST["last"];if($first=="Jeb"){if($last=="Jeb"){print"Hello!";}else{print"Idontknowyou!";}}elseif($first=="Bob"){if($last=="Bob"){print"He

php - 如何在 IF 语句中使用 php 函数

简介我正在尝试更好地理解我对Php的了解,并使用类来更好地编写我的代码,因此这只是一个练习,目的是为了更好地理解而不是一个真实世界的解决方案。简介我正在从我刚刚学会的类中调用一个函数,但我想知道执行一些简单任务(例如在IF语句中使用该对象)的最佳方法。场景例如,我正在设置我的类:classuser{//GetusersIDfunctionget_user_id(){global$conn;$sql='SELECTidFROMuser';$result=$conn->query($sql);if($result->num_rows>0){while($row=$result->fetch

php - 如果 2 else if 1 else,如何使 5 成为条件条件只有 1?

我有如下特定条件。>80categoryA71-80categoryAB51-70categoryB41-50categoryBC我需要编写满足上述条件的代码。但只有与1如果2否则如果1其他我想通了,我需要设置默认类别值,但仍然不符合预期的结果$category="C";$value="10";if($value>80){$category="A";}elseif($value50){$category="B";}elseif($value70){$category="AB";}else{$category="BC";}echo$category;我想这样输出90=A72=AB55=B

php - 内联中的意外标记 T_ECHO if

我的观点之一是这样的>SOME_TEXT这会导致语法错误,意外的T_ECHO。为print更改echo解决了这个问题,但我想了解为什么我不能使用echo。 最佳答案 你不能那样使用这个结构。ternaryoperator不是“if”block,而是根据条件是否满足返回一个值。你想改变结构:它与print()一起使用,因为这是一个具有返回值的函数。然而,这不是您想要的,因为第一个echo将打印出print的结果,这是没有意义的。它不适用于echo,因为echo不是一个函数,而是一种语言结构。

php - 在带有 OR 的 PHP 中的 IF 语句中,如何跟踪哪个条件评估为假?

例如,在这样的PHP代码中:if($this->function1()&&$this->function2()){//everythingisalright}else{//function1orfunction2returnedfalse//whodunnit?}是否有语言结构或其他东西可以帮助我找出elseblock中的罪魁祸首?我不想再次运行条件,只是为了找出问题所在。请容忍我的伪代码。我的实际代码在这里看起来完全脱离上下文......顺便说一句,我正在使用CodeIgniter。 最佳答案 if($this->function

php - 使用 preg_match 检查字符串是否仅包含 A-Z、a-z 和 -(破折号)字符

这个问题在这里已经有了答案:Needaregexthatwillcheckifthestringonlyconsistlettersa-zandnumbersandunderscore(_)andhyphen(-)(5个答案)关闭9年前。我试过:print_r(preg_match("[A-Za-z\\-]",$str));我越来越假了。我不太擅长正则表达式,但它似乎适用于http://regexpal.com/我是不是漏掉了什么?编辑:例如$str=zREBsZtyvw

PHP - 避免嵌套的 if 语句 - 更简洁的编码方式

假设我正在创建注册表单。我有如下代码,由于所有嵌套的if语句,很难管理。我想知道最简洁、最容易遵循的方法来编写功能类似于我下面的代码。编辑:人们告诉我可以将空的($_POST['email'])移动到验证函数。我不能那样做,因为我需要知道1)用户是否发布了数据,以及2)用户发布的数据是否有效。例如,当用户第一次进入注册页面时,他们没有发布任何数据,因此$_POST['email']将生成PHP警告,因为它们不存在。这就是我在验证之前检查数据是否已发布的原因。这有意义吗?functionvalidate_email($str){$str=trim(strtolower($str));if

php - 正则表达式组包括 if 条件

我已经尝试使用正则表达式/^(\S+)(?:\?$|$)/使用yolo和yolo?两者都适用,但在第二个字符串(yolo?)上,?将包含在捕获组(\S+)中。这是正则表达式的错误还是我犯了一些错误?编辑:我不想要那个'?'包含在捕获组中。抱歉我的英语不好。 最佳答案 您可以使用如果您要捕获的内容中不能包含?,请使用否定字符类[^...](参见demohere):^([^\s?]+)\??$如果你想要捕获的内容可以包含?(例如,yolo?yolo?,你想要yolo?yolo),您需要通过添加?使量词+为lazy(参见demohere)