【问题标题】:The charater at the end of an array after you explode url爆炸 url 后数组末尾的字符
【发布时间】:2013-09-11 00:12:56
【问题描述】:

如果 url 像 $url=artists/denaro/ 并且我去 explode("/",$url)。它留下一个字符,它是一个空格还是我试图匹配和删除它的东西

$lastelement = end($named_request_data);
if($lastelement == " ")
{
  unset($lastelement);
  reset($named_request_data);
  return $named_request_data;

}

【问题讨论】:

  • 我想我之前可以 rtrim($url) 但我仍然想要一个答案

标签: php string url explode


【解决方案1】:

使用 array_filter() 代替。它将删除空项目。

$string = "artists/denaro/";
$array = array_filter(explode('/', $string));

$array 现在将只包含 'artists' 和 'denaro'。

输出:

array (size=2)
      0 => string 'artists' (length=7)
      1 => string 'denaro' (length=6)

【讨论】:

    【解决方案2】:

    它在数组的最终索引处留下一个空字符串。

    你应该这样做

    $url = "artists/denaro/";
    $url = trim($url, "/");
    $arrayUrl = explode("/", $url);
    

    【讨论】:

    • 如果是空字符串,“”或“”不应该匹配吗??
    • @Alex " " 不是空字符串。那是一个由一个空格字符组成的字符串。试试这个:var_dump('');
    【解决方案3】:
            $url='artists/denaro/';
            $exp = explode("/",$url);
            var_dump($exp); //1
            $exp = array_filter($exp);
            var_dump($exp);//2
    

    输出是:

    array(3) { [0]=> string(7) "artists" [1]=> string(6) "denaro" [2]=> string(0) "" } //1
    array(2) { [0]=> string(7) "artists" [1]=> string(6) "denaro" } //2
    

    http://php.net/manual/en/function.array-filter.php “如果没有提供回调,所有等于 FALSE 的输入条目(请参阅转换为布尔值)都将被删除。”

    【讨论】:

      【解决方案4】:

      您可以先使用 substr 删除最后一个字符。

      PHP 小提琴:http://phpfiddle.org/main/code/bfi-yr6

      您的原始代码:

      $url='artists/denaro/';
      $parts = explode("/",$url);
      var_dump($parts);
      

      输出:

      array(3) { [0]=> string(7) "artists" [1]=> string(6) "denaro" [2]=> string(0) "" }
      

      使用 substr:

      $url2 = substr($url, 0, -1);
      $parts2 = explode("/",$url2);
      var_dump($parts2);
      

      输出:

      array(2) { [0]=> string(7) "artists" [1]=> string(6) "denaro" }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-01
        • 1970-01-01
        • 2013-02-13
        相关资源
        最近更新 更多