【问题标题】:Getting STRING Characters value before a character occuring more than once in php在 php 中多次出现字符之前获取 STRING Characters 值
【发布时间】:2019-11-29 13:11:13
【问题描述】:

我想从变量中获取最后一个单词的值.....

如果变量的内容是 ,book,farm,chop,cook

我想在最后一个之后单独获取cook的值,在php中

$valt = ",book,farm,chop,cook";

或在遇到','之前从右侧获取值... 谢谢

【问题讨论】:

  • ,上爆炸?
  • 或者一种高效的内存方式从右侧搜索,,如果您到达, 或索引0,则执行substr()。

标签: php string variables character strlen


【解决方案1】:

使用explode()将字符串转换为数组并使用end()

   <?php
   $arr = ",book,farm,chop,cook";
   $a = explode(',', $arr);
   print_r(end($a));

【讨论】:

  • 不需要加exit;
【解决方案2】:

strrpos 的可选解决方案可找到, 最后 出现的位置。之后,您可以使用substr 获取从 下一个 位置开始的子字符串:

$str = ",book,farm,chop,cook";
print_r(substr($str, 1 + strrpos($str, ',')));

【讨论】:

    【解决方案3】:

    使用strrchr()ltrim() 来整理你可以做到这一点

    $valt = ",book,farm,chop,cook";
    echo ltrim(strrchr($valt,','),',');
    

    结果

    cook
    

    【讨论】:

    • 如果找不到,也需要处理吗?
    • 好的,显然是通过在开头添加, 来处理的。
    【解决方案4】:
    $valt = ",book,farm,chop,cook";
    $r = explode(",",$valt);
    $a = array_key_last($r);
    print_r($a);
    

    【讨论】:

    • 这将返回 4 而不是 cook
    • 请考虑添加一些“文本”。解释,发布的代码的作用以及它如何解决问题中的问题,很少不能改善答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    相关资源
    最近更新 更多