你能在 php 中做 implode .= 吗?

Can you do implode .= in php?

不确定我问的是否正确,如果我错了请指正。 我知道你需要一个数组来进行内爆,而不是在 </a> 之后添加一个 space,我想在 .=

中进行内爆
for ($i=1; $i<=$lastPage; $i++) {  
    $pageLink .= "<a href='ajax.php?action=merchantlist&merchant_id=" . $merchant_id . "p=".$i."'>".$i."</a>";  
};  
$pageLinks = implode(' ', $pageLink);

.= 表示附加到先前定义的变量(最有可能是字符串)。因此,在您的情况下,您已经从循环中创建了一个字符串,但您的变量尚未初始化。

所以你可以这样做并移除内爆:

$pageLink="";
for ($i=1; $i<=$lastPage; $i++) {  
    $pageLink .= "<a href='ajax.php?action=merchantlist&merchant_id=" . $merchant_id . "p=".$i."'>".$i."</a>";  
};  
echo $pageLink;

或创建一个数组(就像您最初的问题所要求的那样),但我认为这是一个不必要的步骤。 (初始化一个数组,调用一个函数来生成字符串)就像你可以只使用 1 个变量并通过附加到它来避免函数阈值(就像在我的第一个片段中一样)。

for ($i=1; $i<=$lastPage; $i++) {  
    $pageLink[] = "<a href='ajax.php?action=merchantlist&merchant_id=" . $merchant_id . "p=".$i."'>".$i."</a>";  
};  
$pageLinks = implode(' ', $pageLink);

    echo $pageLinks;

我还认为您在 "p="

之前的字符串中缺少 &
$pageLink .= "<a href='ajax.php?action=merchantlist&merchant_id=" . $merchant_id . "p=".$i."'>".$i."</a>";  

应该像这样在 p= 之前加上一个 &

$pageLink .= "<a href='ajax.php?action=merchantlist&merchant_id=" . $merchant_id . "&p=".$i."'>".$i."</a>";  

另一件事,我会 url_encode 你的 href 中任何可能是字符串的东西,这样撇号就不会破坏你的 html 属性。