以下代码仅打印每个数组项的第一个字母。这让我很困惑。
require_once 'includes/global.inc.php';
print_r($site->bookmarkTags(1));
$index = 0;
foreach ($site->bookmarkTags(1) as $tag) {
echo $tag['$index'];
$index = $index + 1;
}
print_r return:
Array ( [0] => Wallpapers [1] => Free )
循环:
WF
答案 0 :(得分:3)
尝试echo $ tag,而不是$ tag ['$ index']
由于您使用的是foreach,因此该值已从数组中获取,当您发布$ tag ['$ index']时,它将从'$ index'位置打印该字符:)
答案 1 :(得分:1)
看来你已经尝试做了一些foreach已经在做的事情......
问题是你实际上是在回应一个非数组的$ index字母,因为foreach已经做了你似乎期望你的$ index = $ index + 1做的事情:
require_once 'includes/global.inc.php';
print_r($site->bookmarkTags(1));
$index = 0;
foreach ($site->bookmarkTags(1) as $tag) {
echo $tag; // REMOVE [$index] from $tag, because $tag isn't an array
$index = $index + 1; // You can remove this line, because it serves no purpose
}
答案 2 :(得分:0)
require_once 'includes/global.inc.php';
// Store the value temporarily instead of
// making a function call each time
$tags = $site->bookmarkTags(1);
foreach ($tags as $tag) {
echo $tag;
}
这应该有效。问题可能是因为你在每次迭代时进行函数调用,而不是临时存储值并循环遍历它。