【问题标题】:Run a loop for each semicolon [closed]为每个分号运行一个循环[关闭]
【发布时间】:2016-01-29 14:03:26
【问题描述】:

在我的 MySQL 表中,我有一个名为“datei”的列。现在每个字段都包含一个路径 - 例如文件管理员/媒体/pdf/AGB.pdf

这就是我的 PHP 的样子:

$Inhalt .= '<div class="DLB_Download_Zeile">
    <a href="'.$Downloads->datei.'" target="_blank">
        <div class="DLB_Download_Zeile_Bild"><img src="fileadmin/media/images/pdficon.png" width="30" alt="PDF Icon"></div>
        <div class="DLB_Download_Zeile_Link">'.$Downloads->dateiname.'</div>
    </a>
</div>';

我现在想将数据库字段设置为:fileadmin/media/pdf/AGB.pdf;fileadmin/media/pdf/anotherPDF.pdf;fileadmin/media/pdf/anotherFile.pdf

这意味着在 PHP 中我需要运行一个循环,为用分号分隔的每个路径生成相同的 HTML。我该怎么做?

【问题讨论】:

  • 使用explode();';' 并循环抛出数组

标签: php mysql loops


【解决方案1】:

使用这个是可以做到的:

$string = 'fileadmin/media/pdf/AGB.pdf;fileadmin/media/pdf/anotherPDF.pdf;fileadmin/media/pdf/anotherFile.pdf';
$paths = explode(';', $string);
foreach ($paths as $path) {
    //Your code here
}

explode() 将在分号处拆分刺痛。 这也可以反过来再次获取一个字符串以将其放入数据库中。

$string = implode(';', $paths);

【讨论】:

    【解决方案2】:

    你可以试试这个:

    $value = 'fileadmin/media/pdf/AGB.pdf;fileadmin/media/pdf/anotherPDF.pdf;fileadmin/media/pdf/anotherFile.pdf';
    
    $array = explode(';', $value);
    
    foreach ($array as $key => $value) {
        echo $value;
    }
    

    【讨论】:

    • 谢谢,这对我有用!
    猜你喜欢
    • 2020-12-24
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 2017-03-16
    相关资源
    最近更新 更多