php中查找n在数组中的最后一个位置
时间: 2024-04-30 08:19:46 浏览: 58
可以使用array_keys()函数来获取数组中所有的键名,然后使用array_search()函数查找$n在数组中出现的位置,最后使用array_pop()函数获取最后一个位置的键名。具体代码如下:
```
$array = array(1, 2, 3, 4, 5, 3, 6, 7, 8, 3, 9);
$n = 3;
$keys = array_keys($array, $n);
if(!empty($keys)){
$last_key = array_pop($keys);
echo "最后一个$n在数组中的位置为:" . $last_key;
}else{
echo "$n不在数组中";
}
```
输出结果:
```
最后一个3在数组中的位置为:9
```
相关问题
php中查找n在数组中的最后一个位置: 例如:假如数组中的元素为:1,5,6,5,8,4,2,3,1,2
可以使用`array_search()`和`array_reverse()`函数结合起来进行查找,代码如下:
```php
$arr = array(1, 5, 6, 5, 8, 4, 2, 3, 1, 2);
$target = 5;
// 将数组倒序,然后查找元素最后一次出现的位置
$last_pos = count($arr) - array_search($target, array_reverse($arr, true)) - 1;
echo "元素 $target 最后一次出现的位置为:$last_pos";
```
输出结果为:
```
元素 5 最后一次出现的位置为:3
```
解释一下代码的执行过程:
1. `array_reverse($arr, true)`将原数组倒序排列,并保留键值对关系;
2. `array_search($target, array_reverse($arr, true))`在倒序排列后的数组中查找元素 $target 第一次出现的位置;
3. `count($arr) - array_search($target, array_reverse($arr, true)) - 1`计算元素 $target 在原数组中最后一次出现的位置。
查找n在数组中最后出现的位置
要查找一个元素在 PHP 数组中最后出现的位置,可以使用 `array_search()` 函数结合 `array_reverse()` 函数来实现。`array_reverse()` 函数可以将数组中的元素顺序颠倒,从而使得我们可以在颠倒后的数组中查找元素最后出现的位置。下面是一个示例:
```php
$numbers = array(2, 4, 6, 8, 10, 12, 14, 10, 16, 18, 20);
$position = count($numbers) - 1 - array_search(10, array_reverse($numbers, true));
if ($position >= 0) {
echo "The last position of 10 is: " . $position;
} else {
echo "10 was not found in the array.";
}
```
这个示例中,我们定义了一个包含十一个元素的数组 `$numbers`,其中包含两个值为 `10` 的元素。然后,我们使用 `array_reverse()` 函数将数组颠倒顺序,并使用 `array_search()` 函数查找颠倒后的数组中 `10` 元素的位置。由于 `array_search()` 函数返回的位置是颠倒后的数组中的位置,因此我们需要使用 `count()` 函数获取数组长度,并从颠倒后的位置中减去 `1` 来得到该元素在原数组中的位置。最后,我们检查 `$position` 是否大于等于 `0`,如果是,则输出 `10` 元素在数组中最后出现的位置。输出结果应该是:
```
The last position of 10 is: 8
```
注意,这个方法只能找到最后一个匹配的元素位置,如果数组中有多个相同的元素,则无法找到前面的匹配位置。如果需要查找所有匹配位置,则需要使用循环和条件语句来实现。
阅读全文