PHP-lab03数组
(1)根据自己对数组的了解,请定义一个3行4列的二维数组,数据自拟,并使用恰当的方法遍历数组所有数据并输出。
参考:
<?php
$matrix = array(
array(1, 2, 3, 4),
array(5, 6, 7, 8),
array(9, 10, 11, 12)
);
for ($i = 0; $i < count($matrix); $i++) {
for ($j = 0; $j < count($matrix[$i]); $j++) {
echo $matrix[$i][$j] . " ";
}
}
?>
(2)已有成绩数组,如下所示。成绩数组$scores:
$scores = array(75,68,100,85,70,88,86,90,92,78,65,98,86);
请根据成绩数组设计程序,创建一个新的成绩分组数组,每个成绩段作为数组的一个元素,成绩分组数组$scores_group,对成绩进行分组,使得处于同一分数段的成绩集合在一起,如下图所示。
参考:
<?php
$scores = array(75, 68, 100, 85, 70, 88, 86, 90, 92, 78, 65, 98, 86);
$score_ranges = array(
"group70" => array(),
"group60" => array(),
"group100" => array(),
"group80" => array(),
"group90" => array()
);
foreach ($scores as $score) {
if ($score >= 60 && $score <= 69) {
$score_ranges["group60"][] = $score;
} elseif ($score >= 70 && $score <= 79) {
$score_ranges["group70"][] = $score;
} elseif ($score >= 80 && $score <= 89) {
$score_ranges["group80"][] = $score;
} elseif ($score >= 90 && $score <= 99) {
$score_ranges["group90"][] = $score;
} elseif ($score = 100) {
$score_ranges["group100"][] = $score;
}
}
// php_eol换行
echo "array(size=" . count($score_ranges) . ")" . PHP_EOL;
foreach ($score_ranges as $group => $scores_in_group) {
echo " '{$group}' =>" . PHP_EOL;
echo " array(size=" . count($scores_in_group) . ")" . PHP_EOL;
foreach ($scores_in_group as $index => $score) {
echo " {$index} => int {$score}" . PHP_EOL;
}
}
?>
(3)已有$names二维数组,设计程序遍历该数组,打印出其中所有的数据字符串。
$str= array(
array("Billy","Peter","Steve"),
"Tim",
"girls"=>array("Mary","Alice","Jane"),
array('hello',"world"),
"Are you OK?"
);
打印结果示例:
参考:
<?php
$names = array(
array("Billy", "Peter", "Steve"),
"Tim",
"girls" => array("Mary", "Alice", "Jane"),
array('hello', "world"),
"Are you OK?"
);
foreach ($names as $key => $value) {
if (is_array($value)) {
echo implode(' ', $value) . "\n";
} else {
echo $value . "\n";
}
}
?>
(4)综合练习:
根据以下商品信息表格,设计合理的数组保存数据,并在页面中显示这些商品信息。
商品名 商品价格 商品图片
iPhone 6 Plus 6088 i6p.jpg
Galaxy S5 3299 galaxys5.jpg
Moto X 2999 motox.jpg
MX 4 Pro 2199 mx4pro.jpg
Mate 7 3299 mate7.jpg
参考:
<?php
$products = array(
"iPhone 6 Plus" => array(
"price" => 6088,
"image" => "i6p.jpg"
),
"Galaxy S5" => array(
"price" => 3299,
"image" => "galaxys5.jpg"
),
"Moto X" => array(
"price" => 2999,
"image" => "motox.jpg"
),
"MX 4 Pro" => array(
"price" => 2199,
"image" => "mx4pro.jpg"
),
"Mate 7" => array(
"price" => 3299,
"image" => "mate7.jpg"
)
);
?>
<!DOCTYPE html>
<html>
<head>
<title>商品信息表格</title>
</head>
<body>
<table border="1">
<tr>
<th>商品名</th>
<th>商品价格</th>
<th>商品图片</th>
</tr>
<?php foreach ($products as $productName => $productInfo): ?>
<tr>
<td><?= $productName ?></td>
<td><?= $productInfo['price'] ?>元</td>
<td><img src="<?= $productInfo['image'] ?>" alt="<?= $productName ?>"></td>
</tr>
<?php endforeach; ?>
</table>
</body>
</html>