json-如何从json中获取数据,其中用户输入将出现在%s上

时间:2019-09-14 13:35:22

标签: php mysql json

我有一个看起来像这样的JSON文件

{
  "facebook": {
    "icon": "fab fa-facebook",
    "title": "Facebook",
    "url": "https://facebook.com/%s"
  },
  "instagram": {
    "icon": "fab fa-instagram",
    "title": "Instagram",
    "url": "https://instagram.com/%s"
  }
}

因此,我从表单获取用户社交链接,但仅从用户的社交链接ID,例如https://facebook.com/ID。我将用户ID存储在数据库的JSON文件中。我正在使用PHP。如何在该'%s'中添加用户ID并显示链接。

1 个答案:

答案 0 :(得分:2)

要使用您拥有的JSON数据将信息汇总在一起,可以使用sprintf()printf()(唯一的区别是printf()直接输出数据sprintf()返回一个字符串)。手册页上的信息显示了%s之类的工作方式。

所以代码看起来像...

$id = 123;
$userName = "User name";

$json = '{
    "facebook": {
    "icon": "fab fa-facebook",
    "title": "Facebook",
    "url": "https://facebook.com/%s"
    },
    "instagram": {
    "icon": "fab fa-instagram",
    "title": "Instagram",
    "url": "https://instagram.com/%s"
    }
}';

$socialMedia = json_decode( $json, true );

echo echo '<a href="'.sprintf($socialMedia["facebook"]["url"], $id).'">'.
   $userName.'</a>';

哪个输出...

<a href="https://facebook.com/123">User name</a>