定义一个字符串$str1=“100,5,21,50,-5"之后:把这些数放入一个数组(explode(",",$tr1)函数把字符串转换为数组),打印数组,用while对所有数组元素求和、并输出和,从大到小排序并保持键名和值的关联,打印数组。
时间: 2024-05-15 17:16:44 浏览: 111
```
<?php
$str1 = "100,5,21,50,-5";
$arr1 = explode(",", $str1);
print_r($arr1); // 输出数组
$sum = 0;
$i = 0;
while ($i < count($arr1)) {
$sum += $arr1[$i];
$i++;
}
echo "数组元素之和为:$sum" . PHP_EOL;
arsort($arr1); // 从大到小排序并保持键名和值的关联
print_r($arr1); // 输出排序后的数组
?>
```
输出结果:
```
Array
(
[0] => 100
[1] => 5
[2] => 21
[3] => 50
[4] => -5
)
数组元素之和为:171
Array
(
[0] => 100
[3] => 50
[2] => 21
[1] => 5
[4] => -5
)
```
相关问题
定义一个字符串$str1=“12, 44, 5, 10, -5”之后:把这些放入一个数组(explode(“, ”, Sstr1)两数把字符串转换为数组),打印数组;分别用mile/foreach循环对所有数组元素求和、并输出和。
在PHP中,你可以使用`explode()`函数将字符串$str1按照指定的分隔符(在这个例子中是逗号和空格", ")分割成一个数组。首先,让我们定义字符串 `$str1`,然后执行数组分割,并打印出数组。接着,我们将使用`for`循环或`foreach`循环来遍历数组并对所有元素求和。
以下是相应的代码步骤:
```php
<?php
$str1 = "12, 44, 5, 10, -5"; // 定义字符串
// 使用explode函数创建数组
$array = explode(", ", $str1);
// 打印数组
print_r($array); // 输出数组
// 使用for循环求和
$sum = 0;
for ($i = 0; $i < count($array); $i++) {
$sum += $array[$i];
}
echo "数组元素求和: " . $sum . "\n";
// 或者使用foreach循环
$sum = 0;
foreach ($array as $value) {
$sum += $value;
}
echo "数组元素求和 (foreach): " . $sum . "\n";
?>
```
PHP1.定义一个字符串$str1= “100,5,21,50,-5”之后:(1)把这些数放入一个数组(explode(“,”,$str1)函数把字符串转换为数组),打印数组;(2)分别用while和foreach循环对所有数组元素求和、并输出和;(3)从大到小排
(1) 代码如下:
```
$str1 = "100,5,21,50,-5";
$arr1 = explode(",", $str1);
print_r($arr1);
```
输出结果为:
```
Array
(
[0] => 100
[1] => 5
[2] => 21
[3] => 50
[4] => -5
)
```
(2) 用 while 循环求和的代码如下:
```
$i = 0;
$sum1 = 0;
while ($i < count($arr1)) {
$sum1 += $arr1[$i];
$i++;
}
echo "while 循环求和结果为:".$sum1."\n";
```
用 foreach 循环求和的代码如下:
```
$sum2 = 0;
foreach ($arr1 as $value) {
$sum2 += $value;
}
echo "foreach 循环求和结果为:".$sum2."\n";
```
输出结果为:
```
while 循环求和结果为:171
foreach 循环求和结果为:171
```
(3) 从大到小排序的代码如下:
```
rsort($arr1);
print_r($arr1);
```
输出结果为:
```
Array
(
[0] => 100
[1] => 50
[2] => 21
[3] => 5
[4] => -5
)
```
阅读全文