Php json-如何从json获取数据,用户的输入将来自%s

Php json-如何从json获取数据,用户的输入将来自%s,php,mysql,json,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" }

我有一个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并显示链接。

要使用您拥有的JSON数据将信息组合在一起,您可以使用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>

使用sprintf实现这一点。用户ID将替换为“%s”sprintf$data->facebook['url'],$userId;我知道了,但我如何在“a”标记中显示它。我将从json文件中获取链接