Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从此数组中获取此元素_Php_Arrays - Fatal编程技术网

Php 如何从此数组中获取此元素

Php 如何从此数组中获取此元素,php,arrays,Php,Arrays,我有一个数组$arr,当我使用var_dump时,它是这样的。在这种情况下,获得最后第二项“简单”的最简单方法是什么。我不能使用$arr[4],因为每个url的项目数量可能会有所不同,我总是希望只使用最后一个。请注意,末尾有一个额外的空字符串,它将始终存在 array 0 => string 'http:' (length=5) 1 => string '' (length=0) 2 => string 'site.com' 3 => string 'gr

我有一个数组$arr,当我使用var_dump时,它是这样的。在这种情况下,获得最后第二项“简单”的最简单方法是什么。我不能使用$arr[4],因为每个url的项目数量可能会有所不同,我总是希望只使用最后一个。请注意,末尾有一个额外的空字符串,它将始终存在

array
  0 => string 'http:' (length=5)
  1 => string '' (length=0)
  2 => string 'site.com'
  3 => string 'group'
  4 => string 'simple'
  5 => string 'some-test-url'
  6 => string '' (length=0)

只要它不是键控数组或散列数组,并且它有两个以上的项

$arr[count($arr) - 2];

注:我对“倒数第二”的解释是从末尾算起的第二个。这可能与你的不同。如果是,则减去3。

只要它不是键控数组或哈希数组,并且有两个以上的项

$arr[count($arr) - 2];
$second_last = count($array) - 3;

$value = $array[$second_last];

注:我对“倒数第二”的解释是从末尾算起的第二个。这可能与你的不同。如果是,减去3。

获取计数并减去3

$second_last = count($array) - 3;

$value = $array[$second_last];
$arr[count($arr)-3]

得到计数并减去3

$arr[count($arr)-3]
我应该帮助你

$arrayLen=count($arr);
echo $arr[$arrayLen-2];

应该对你有帮助。

还有另一种选择:

$arrayLen=count($arr);
echo $arr[$arrayLen-2];
echo current(array_slice($data, -3, 1));

还有另一种选择:

echo current(array_slice($data, -3, 1));

为什么不直接问一下如何获取字符串中URL的最后一个组件?请注意,倒数第二和$arr[4]不是一回事。除非我疯了,否则我会认为$arr[4]是倒数第三名。@Ignacio Vazquez Abrams这不是最后一名。如果将最后一个空字符串作为一个项目计算,则这是倒数第二个,甚至倒数第三个。作为旁注,但非常重要的一点是:如果这是您的结构,则应为其创建Url类。我确信您有操作这个数组的函数,所以它们应该是url类的方法。在PHP中,我们的编码通常非常松散;作为一个社区,我们需要更好地使用经过验证和结构化的技术。为什么不问问我如何在字符串中获取URL的最后一个组件?请注意,倒数第二和$arr[4]不是一回事。除非我疯了,否则我会认为$arr[4]是倒数第三名。@Ignacio Vazquez Abrams这不是最后一名。如果将最后一个空字符串作为一个项目计算,则这是倒数第二个,甚至倒数第三个。作为旁注,但非常重要的一点是:如果这是您的结构,则应为其创建Url类。我确信您有操作这个数组的函数,所以它们应该是url类的方法。在PHP中,我们的编码通常非常松散;作为一个社区,我们需要更好地使用经过验证的结构化技术。