如何在php for循环

时间:2016-03-24 07:16:27

标签: php font-awesome

我想在我的php代码中动态生成所有当前可用的字体真棒图标,因此用户可以选择它。我是否需要对数组或数据库中的所有图标进行硬编码?或者有没有快捷轻量级的方法来做到这一点?例如;

<?php
foreach($fonticons as $icon){ // $fonticons is an abstract array, It have nothing
    echo '<i class="fa '.$icon.'"></i>';
}
?>

所以我应该得到;

<i class="fa fa-adjust"></i>
<i class="fa fa-anchor"></i>
<i class="fa fa-archive"></i>
<i class="fa fa-area-chart"></i>
<i class="fa fa-arrows"></i>
<i class="fa fa-hand"></i>....

有可能吗?

我开始知道,

  

每个字体真棒图标都有一个唯一的unicode。

例如fa-adjust unicode是F042。你可以在控制台css中看到它作为。那么,如果set counter开始为F042并循环并以十六进制递增,那该怎么办呢?并在html中显示?

我可以复制粘贴此array并开始使用它。但我希望它充满活力。

4 个答案:

答案 0 :(得分:1)

由于只有图标的名称不同所以将图标的所有名称存储到某个数组并显示如下..

$icons = array('0' =>'adjust' ,'1'=>'anchor' );

foreach ($icons as $key => $res) {
    echo  '<i class="fa-'.$res.'"></i>';

}

答案 1 :(得分:0)

因为你的数组看起来像这样:

 Protected Overrides Sub OnLoad(e As EventArgs)
    MyBase.OnLoad(e)
    Dim theme As New Telerik.WinControls.Themes.Windows8Theme()
    ThemeResolutionService.ApplicationThemeName = "Windows8"
End Sub

您可以在foreach循环中执行此操作。

$font_awesome_icons_array = array( ‘fa-glass’ => ‘\f000’, ‘fa-music’ => ‘\f001’, ‘fa-search’ => ‘\f002’, ....

输出看起来像:

forech($font_awesome_icons_array as $key=>$value){
 echo '<i class="fa '.$key.'"></i>';
}

答案 2 :(得分:0)

是的,问题解决了,无需创建阵列。我有免费插件Font Awesome Icon Picker,它负责处理所有字体真棒图标列表和GUI,它提供了一个带有值的文本框,所以当表单提交时,我们会在post中获取值。

答案 3 :(得分:0)

您可以使用yaml解析器并处理font awesome git repository提供的icons.yml文件:

<?php
use Symfony\Component\Yaml\Yaml;

$yaml = Yaml::parse(file_get_contents('FONT_AWESOME_PATH/src/icons.yml'));
$icons = $yaml['icons'];

foreach($icons as $icon) {
    if(empty($icon['unicode'])) {
        continue;
    }
    echo '<i class="fa fa-'.$icon['id'].'"></i>';
}