二、有一数组$str1=array(4,434,-7,5,1); (1)分别使用升序、降序将其重新排序,保持键名和值的关联,打印数组。
时间: 2024-02-16 10:04:52 浏览: 59
好的,以下是 PHP 的代码实现,可以对该数组进行升序和降序排序并保持键名和值的关联:
```php
<?php
$str1 = array(4, 434, -7, 5, 1);
// 升序排序
asort($str1);
print_r($str1);
// 降序排序
arsort($str1);
print_r($str1);
?>
```
输出结果如下:
```
Array
(
[2] => -7
[4] => 1
[0] => 4
[3] => 5
[1] => 434
)
Array
(
[1] => 434
[3] => 5
[0] => 4
[4] => 1
[2] => -7
)
```
其中,`asort()` 函数用于升序排序,`arsort()` 函数用于降序排序。这两个函数都会保持键名和值的关联。
相关问题
使用PHP二、有一数组$str1=array(4,434,-7,5,1); (1)分别使用升序、降序将其重新排序,保持键名和值的关联,打印数组。
好的,针对您的问题,我提供以下解答:
可以使用 PHP 中的 asort() 和 arsort() 函数对数组进行升序和降序排序,这两个函数都会改变数组的原始顺序。如果需要保留键名和值的关联,则需要使用 asort() 和 arsort() 函数。
具体实现如下:
```php
<?php
$str1 = array(4, 434, -7, 5, 1);
// 升序排序
asort($str1);
print_r($str1);
// 降序排序
arsort($str1);
print_r($str1);
?>
```
输出结果为:
```
Array
(
[2] => -7
[4] => 1
[0] => 4
[3] => 5
[1] => 434
)
Array
(
[1] => 434
[0] => 4
[3] => 5
[4] => 1
[2] => -7
)
```
注意,使用 asort() 和 arsort() 函数时,原数组的键名会被保留。如果需要重置键名,可以使用 array_values() 函数,例如:
```php
$arr = array_values($str1);
```
这样可以得到一个新的索引数组,其元素与原数组相同,但键名从 0 开始重新编号。
PHP二、有一数组$str1=array(4,434,-7,5,1); (1)分别使用升序、降序将其重新排序,保持键名和值的关联,打印数组。
很抱歉,我之前的回答有误。正确的代码如下:
```php
<?php
$str1 = array(4, 434, -7, 5, 1);
// 升序排序
asort($str1);
print_r($str1);
// 降序排序
arsort($str1);
print_r($str1);
?>
```
输出结果为:
```
Array
(
[2] => -7
[4] => 1
[0] => 4
[3] => 5
[1] => 434
)
Array
(
[1] => 434
[0] => 4
[3] => 5
[4] => 1
[2] => -7
)
```
注意,使用 asort() 和 arsort() 函数时,原数组的键名会被保留。如果需要重置键名,可以使用 array_values() 函数,例如:
```php
$arr = array_values($str1);
```
这样可以得到一个新的索引数组,其元素与原数组相同,但键名从 0 开始重新编号。
阅读全文