php - PHP,使用类寻址对象
问题描述
我正在尝试使用类列出从 json 数据库到 html 的所有名称。html 输出应如下所示:-
人物
- 姓名:约翰
- 姓名:莎拉
- 姓名:迈克尔
我已经设法用我的代码做到了这一点。我知道这段代码没有完成或者它有错误,但我仍然是一个初学者和学习者。你能帮我让这个代码工作吗?
Json 数据库文件
数据库.json
{
"results": [
{
"name": "John",
"height": "182 cm",
"mass": "80 kg",
},
{
"name": "Sarah",
"height": "165 kg",
"mass": "60 cm",
},
{
"name": "Michael",
"height": "178 cm",
"mass": "75 kg",
},
]
}
索引文件
索引.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Character</title>
</head>
<body style="margin-bottom:20em;">
<h1>Characters</h1>
<?php include('characters.php'); ?>
<?php
$data = file_get_contents("databas.json");
$data = json_decode($data, true);
echo '<pre>';
print_r($data);
echo '</pre>';
?>
</body>
</html>
班级代码
字符.php
<?php
class Character {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName($name){
return $this->name;
}
}
?>
$data 内容为
Array
(
[results] => Array
(
[0] => Array
(
[name] => John
[height] => 182 cm
[mass] => 80 kg
)
[1] => Array
(
[name] => Sarah
[height] => 165 kg
[mass] => 60 cm
)
[2] => Array
(
[name] => Michael
[height] => 178 cm
[mass] => 75 kg
)
)
)
解决方案
我不确定我是否让你正确,但你可以做简单的foreach
循环:
$data = file_get_contents("databas.json");
$data = json_decode($data, true);
foreach($data["result"] as $e) {
echo "Name: " . $e["name"];
}
请注意,发送返回关联数组,因此您可以访问名称键,true
因此无需json_decode
[key]
include('characters.php');
编辑:如果你想使用这个类:
foreach($data["result"] as $e) {
$character = new Character($e["name"]);
$characters[] = $character;
}
foreach($characters as $character) {
echo "Name: " . $character->getName();
}
推荐阅读
- python - 使用 python-rq 调度另一个 redis 作业的 redis 作业
- linux - 如何正确链接 Dcmtk 与 Qt for Linux?
- c - 带有 MinGW C 的 Windows QueryPerformanceCounter
- javascript - 同一画布上的背景和前景不透明度不同?
- django - 用鼠标移动对象
- swift - 如何在不拉伸原始图像的情况下扩展 CIImage 的空间(边界)?
- javascript - 如何读取 1 个标志位并同时获取整数
- python - 最小垂直切片总和
- crystal-lang - 程序在运行 Crystal 程序时收到但未处理信号 IOT (6)
- bash - 参数以一种奇怪的方式组合