PHP 警告 - 非法字符串偏移

标签 php wordpress loops foreach advanced-custom-fields

所以我不明白为什么这不起作用。我正在使用 Wordpress 和一个名为 ACF 的插件来填充一些数据。我正在循环转发器字段以吐出数据,如下所示:

<?php

    $links = get_field('footer_links');  // spits out the array

    if($links) {
        foreach ( $links as $link ) {
            $logo = $link['logo'];
            $link = $link['link'];
            $text = $link['text'];

            echo '<div class="link">';
            echo '  <a href="'.$link.'"><img src="'.$logo.'" /><p>'.$text.'</p></a>';
            echo '</div>';
        }
    }
    // Logo spits out a image path
    // link spits out the URL path
    // text SHOULD just spit out the title, however throws PHP warning

?>

对于变量 $text 我收到 PHP 警告。

Warning: Illegal string offset 'text' in...

为什么我的其他变量 - $logo$link 不会抛出此警告?它们的创建方式与其他 $text 变量相同。

我尝试重新创建整个中继器字段并更改名称等......但没有成功。

这是我的 print_r($links);

Array
(
    [0] Array
        (
            [logo] http://domainname.com/imagepath
            [link] http://.....
            [text] Text1
        )

    [1] Array
        (
            [logo] http://domainname.com/imagepath
            [link] http://.....
            [text] Text2
        )

    [2] Array
        (
            [logo] http://domainname.com/imagepath
            [link] http://.....
            [text] Text3
        )

)

最佳答案

这里抛出错误:

$link['text'];

数组$link缺少索引['text']。这是因为您在这里覆盖了数组变量:

$link = $link['link'];

将其更改为:

$href = $link['link'];

你就是黄金。

关于PHP 警告 - 非法字符串偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22099529/

相关文章:

excel - 暂停 VBA 循环,直到重新计算工作表

javascript - 将 javascript 变量放入数组并执行 foreach 循环

php - 如何将 Solr 搜索与 PHP 集成?

python - 在 tkinter 循环内刷新数据

php - 只用它的一些成员实例化一个对象

css - Flash 和 HTML 菜单的问题

php - WordPress "s"查询 $args 中有几个关键字

php - 修改 WordPress header ,但我不确定我正在使用什么主题

php - 数据表js和查询数php mysql

php - 如何使用ajax在模态弹出窗口中显示php