。=表示要追加到先前定义的变量(字符串mostlikely)。所以在你的情况下,你正在将一个字符串从你的循环中唤醒,以至于你的变量没有被初始化。
所以你可以做这样的事情,并删除破灭:
$pageLink="";
for ($i=1; $i<=$lastPage; $i++) {
$pageLink .= "<a href='ajax.php?action=merchantlist&merchant_id=" . $merchant_id . "p=".$i."'>".$i."</a>";
};
echo $pageLink;
或创建一个数组(像你原来的问题是要求),但我认为这是一个unessecary一步。 (初始化一个数组,调用一个函数来创建字符串),就像你可以使用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可能是一个字符串,所以一个appostrophe不会破坏你的html属性。
编号'。= =正在制造一个字符串,而不是一个数组。只需在该行的末尾添加一个空格。如果你想删除最后一个空格,你可以在循环外使用'rtrim'。另外'p'不会成为你正在构建的链接中的一个参数,你需要一个'&',除非'$ merchant_id'具有那个? – chris85
你在做什么? –