【发布时间】:2018-03-20 10:49:13
【问题描述】:
我想知道你是否可以帮我精简我的代码。
我已经为客户网站构建了一个定制的 share 包含。它工作得很好,但我相信你们中的一个聪明人可以帮助我使它不那么笨重。
我有三个分享网址:
$share_url_facebook、$share_url_twitter 和 $share_url_linkedin。
每个 URL 的结构都不同,而且相当复杂。
然后我有以下代码:
echo '<a href="' . $share_url_facebook . '" title="Share this on facebook">';
echo '<i class="fa fa-facebook"></i>';
echo '</a>';
echo '<a href="' . $share_url_twitter . '" title="Share this on twitter">';
echo '<i class="fa fa-twitter"></i>';
echo '</a>';
echo '<a href="' . $share_url_linkedin . '" title="Share this on LinkedIn">';
echo '<i class="fa fa-linkedin"></i>';
echo '</a>';
有没有办法让我创建某种循环来防止重复?
根据@JasonK 接受的解决方案,这里是我的最终(简化)测试代码:
$share = [
'facebook' => [
'title' => 'Facebook',
'url' => 'https://www.facebook.com/'
],
'twitter' => [
'title' => 'Twitter',
'url' => 'https://twitter.com'
],
'linkedin' => [
'title' => 'LinkedIn',
'url' => 'https://linkedin.com'
]
];
foreach ($share as $key => $details) {
echo '<a href="' . $details['url'] . '" title="Share this on ' . $details['title'] . '">';
echo '<i class="fa fa-' . $key . '"></i>';
echo '</a>';
}
【问题讨论】:
-
使用不同的值,所以不会重复
-
您必须创建一个包含 3 个变量值
$share_url_???和title以及 css 类名称fa-????的数组,因此您甚至可能会使用更多代码来尝试创建它数组然后循环遍历它 -
正如 RiggsFolly 所说,创建一个数组来存储 url。遍历数组
-
使用
$shareBtns = ['socialMediaName' => 'url', ...]创建索引数组并对其进行迭代。