【问题标题】:How to access the last element in an array? [duplicate]如何访问数组中的最后一个元素? [复制]
【发布时间】:2010-09-14 22:52:00
【问题描述】:
$array = explode(".", $row[copy]);
$a = $array.length -1;

我想返回这个数组的最后一个元素,但我得到的只是-1。

【问题讨论】:

    标签: php arrays element


    【解决方案1】:

    你也可以使用:

    $a = end($array);

    这也将数组内部指针设置为数组的末尾,但它确实很容易让你得到最后一个元素。

    【讨论】:

      【解决方案2】:

      试试count:

      $array = explode(".", $row[copy]);
      $a = count($array) - 1;
      $array[$a]; // last element
      

      【讨论】:

        【解决方案3】:

        您也可以使用array_pop()。此函数接受一个数组,删除数组的最后一个元素并返回该元素。

        $array = explode(".", $row[copy]);
        $a = array_pop($array);
        

        这将修改 $array,删除最后一个元素,所以如果您仍然需要该数组来做某事,请不要使用它。

        【讨论】:

          【解决方案4】:

          如果你只想在决赛之后的一切。你可以试试

          $pos = strrpos($row['copy'], '.');
          $str=($pos!==false) ? substr($row['copy'],$pos+1) : '';
          

          如果您只需要最后一个元素,这将节省生成数组。

          【讨论】:

            【解决方案5】:

            其实有一个函数可以做你想做的事:end()

            $res = end(explode('.', $row['copy']));

            【讨论】:

            • 这将给出一个严格的警告“只有变量应该通过引用传递” - see here
            【解决方案6】:

            我的 PHP 有点生锈了,但不应该是这样吗:

            $array = explode(".", $row[$copy]);
            $a = $array[count($array)];
            

            即:“副本”前面不是缺少“$”,.length 是否真的有效?

            【讨论】:

              【解决方案7】:

              由于这是 PHP 的标签,我假设您使用的是 PHP,如果是这样,那么您会想要这样做:

              $array = explode(".", $row[copy]);
              $a = count($array) - 1;
              $value = $array[$a];
              

              但这只有在你的键是数字并且从 0 开始时才有效。

              如果你想获取数组的最后一个元素,但没有数字键或者它们不是从 0 开始,那么:

              $array = explode(".", $row[copy]); $revArray = array_reverse($array, true); $value = $revArray[key($revArray)];

              【讨论】:

                【解决方案8】:

                我认为你的第二行应该更像:

                $index = count($array) - 1;
                $a = $array[$index];
                

                如果你想要一个数组中的元素,你需要使用方括号。

                【讨论】:

                • PHP 没有 length() 函数。
                【解决方案9】:

                你也可以用这个:

                $stack = array("橙色", "香蕉", "苹果", "覆盆子"); $fruit = array_pop($stack); print_r($stack);

                在此之后,$stack 将只有 3 个元素:

                数组 ( [0] => 橙色 [1] => 香蕉 [2] => 苹果 )

                并且覆盆子将分配给$fruit。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2019-12-06
                  • 1970-01-01
                  • 2015-09-25
                  • 1970-01-01
                  • 2022-06-15
                  • 2016-11-17
                  • 2020-02-04
                  相关资源
                  最近更新 更多