PHP1.定义一个字符串$str1= “100,5,21,50,-5”之后:(1)把这些数放入一个数组(explode(“,”,$str1)函数把字符串转换为数组),打印数组;(2)分别用while和foreach循环对所有数组元素求和、并输出和;(3)从大到小排
时间: 2024-02-16 18:04:29 浏览: 57
(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
)
```
相关问题
使用PHP1.定义一个字符串$str1= “100,5,21,50,-5”之后:(1)把这些数放入一个数组(explode(“,”,$str1)函数把字符串转换为数组),打印数组;(2)分别用while和foreach循环对所有数组元素求和、并输出和;(3)从大到小排序并保持键名和值的关联,打印数组;(4)分别用while和foreach循环,并用出栈函数依次输出第(1)步中原始数组的所有元素。
好的,我来逐步回答您的问题。
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 和 foreach 循环对所有数组元素求和并输出和:
使用 while 循环:
```
$sum1 = 0;
$i = 0;
while ($i < count($arr1)) {
$sum1 += $arr1[$i];
$i++;
}
echo "while 循环求和结果为:$sum1\n";
```
使用 foreach 循环:
```
$sum2 = 0;
foreach ($arr1 as $num) {
$sum2 += $num;
}
echo "foreach 循环求和结果为:$sum2\n";
```
输出结果:
```
while 循环求和结果为:171
foreach 循环求和结果为:171
```
3. 从大到小排序并保持键名和值的关联,打印数组:
```
arsort($arr1);
print_r($arr1);
```
输出结果:
```
Array
(
[0] => 100
[3] => 50
[2] => 21
[1] => 5
[4] => -5
)
```
4. 分别用 while 和 foreach 循环,并用出栈函数依次输出第(1)步中原始数组的所有元素。
使用 while 循环和 array_pop 函数:
```
while ($num = array_pop($arr1)) {
echo "$num\n";
}
```
使用 foreach 循环和 array_pop 函数:
```
foreach ($arr1 as $key => $num) {
echo array_pop($arr1) . "\n";
}
```
输出结果:
```
-5
50
21
5
100
```
定义一个字符串$str1=“100,5,21,50,-5"之后:把这些数放入一个数组(explode(",",$tr1)函数把字符串转换为数组),打印数组,用while对所有数组元素求和、并输出和,从大到小排序并保持键名和值的关联,打印数组。
```
<?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
)
```
阅读全文