样式 array_slice 输出

Style array_slice output

我有以下 PHP 脚本,它从文件 X 中提取最后 5 行。

<?php
$f=file("x.txt");
$last=array_slice($f, -5);
echo implode("<br>",$last);
?>

输出如下:

John
Christmas
George
Luck
Sun

问题:如何使输出成为可点击的链接?我想要的输出示例:

<a href="http://www.google.com?q=John">John</a>
<a href="http://www.google.com?q=Christmas">Christmas</a>
<a href="http://www.google.com?q=George">George</a>
<a href="http://www.google.com?q=Luck">Luck</a>
<a href="http://www.google.com?q=Sun">Sun</a>

我试过类似的方法:

echo implode("<br> <a href='http://google.com/q?' . $last . ''>");

但它根本不起作用...有什么解决办法吗?谢谢!

而不是 implode(),您可以循环遍历 $last 然后回显所需的 html 行

foreach ($last as $value) {
    echo "<a href='http://www.google.com?q=$value'>$value</a><br>";
}

试试这个:-

<?php
    $names = array('John','Christmas','George','Luck','Sun');
    foreach($names as $name) {
        echo "<br><a href=\"http://www.google.com?q=$name\">$name</a>";
    }
?>

快乐编码:-)

我认为没有必要使用implode功能。

我已将您的代码修改如下。希望这会有所帮助。

<?php 
$f=file("x.txt");
$last=array_slice($f, -5);

if(!empty($last)){
    foreach ($last as $value) {
      ?>
      <a href='http://www.google.com?q=<?php echo $value;?>'><?php echo $value;?></a><br>
      <?php

    }
}

?>
<?php
$f = array("Volvo", "BMW", "Toyota"); //$f=file("x.txt");
$last=array_slice($f, -5);
echo implode("<br>",$last);

foreach ($last as $value) {
    echo "<a href='http://www.google.com?q=$value'>$value</a> , ";
}
?>

如果不想循环,可以使用 array_map 和内爆。

$last = array('John','Christmas','George','Luck','Sun');

function addlink($last)
{
  return('<a href="http://www.google.com?q=' . $last .'">' . $last .'</a>');
}

$last = array_map("addlink",$last);
echo implode("\n", $last);

https://3v4l.org/l3nME