使用PHP语言,有一数组$str1=array(4,434,-7,5,1); (1) 分别使用升序、降序将其重新排序,保持键名和值的关联,打印数组。
时间: 2024-02-19 13:03:28 浏览: 51
可以使用PHP内置函数 `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
)
```
可以看到,第一次排序按照值的大小进行了升序排序,第二次排序按照值的大小进行了降序排序,键名与值的关联保持不变。
相关问题
使用PHP1.有一数组$str1=array(4,434,-7,5,1); (1)分别使用升序、降序将其重新排序,保持键名和值的关联,打印数组。
可以使用sort()和rsort()函数对数组进行升序和降序排序,这些函数会改变数组的顺序,但会保留键名和值的关联。以下是PHP代码实现:
```php
<?php
$str1 = array(4, 434, -7, 5, 1);
// 升序排列
sort($str1);
print_r($str1);
// 降序排列
rsort($str1);
print_r($str1);
?>
```
输出结果为:
```
Array
(
[0] => -7
[1] => 1
[2] => 4
[3] => 5
[4] => 434
)
Array
(
[0] => 434
[1] => 5
[2] => 4
[3] => 1
[4] => -7
)
```
可以看到,第一次输出为升序排列后的数组,第二次输出为降序排列后的数组,都保留了键名和值的关联。
使用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 开始重新编号。
阅读全文