PHP警告:数组列表中的字符串偏移量非法

PHP警告:数组列表中的字符串偏移量非法,php,warnings,opencart2.x,Php,Warnings,Opencart2.x,我在opencart页脚控制器中添加了以下代码: $data['tags_name'] = array('inux','ubunuto','php'); foreach ($data['tags_name'] as $tag) { $data['tags'][] = array( 'title' => $tag['tags_name'], 'href' => $this->url->link

我在opencart页脚控制器中添加了以下代码:

    $data['tags_name'] = array('inux','ubunuto','php');
    foreach ($data['tags_name'] as $tag) {
        $data['tags'][] = array(
            'title' => $tag['tags_name'],
            'href'  => $this->url->link('product/search', 'tag=' . $tag['tags_name'])
        );
    }
并在footer.tpl中添加此行:

<?php foreach ($tags as $tag) { ?>
    <li><a class="" target="" href="<?php echo $tag['href']; ?>"><?php echo $tag['title']; ?></a></li>
<?php } ?>
我只看到标签的第一个字,如:
I
u
p
,并看到此错误:

警告:在/Applications/XAMPP/xamppfiles/htdocs/opencart/vqmod/vqcache/vq2-system\u storage\u modification\u catalog\u controller\u common\u footer.php中,字符串偏移量“tags\u name”非法


如何修复此错误并输出

您的数组是数组的多维数组。请尝试像

<?php foreach ($tags as $key=>$value) { ?>
    <li><a class="" target="" href="<?php echo $value['href']; ?>"><?php echo $value['title']; ?></a></li>
<?php } ?>

  • 下面是一个例子:

    <?php
    $arr = array(array('title'=>'i','href'=>'http://localhost/opencart/index.php?route=product/search&tag=i'),array('title'=>'u','href'=>'http://localhost/opencart/index.php?route=product/search&tag=u'),array('title'=>'p','href'=>' http://localhost/opencart/index.php?route=product/search&tag=p'));
    //print_r($arr);
    
    foreach($arr as $key=>$value){ ?>
        <li><a class="" target="" href="<?php echo $value['href']; ?>"><?php echo $value['title'];?></a></li>
    
    <?php } ?>
    
    
    

  • 您的数组是数组的多维数组。请尝试像

    <?php foreach ($tags as $key=>$value) { ?>
        <li><a class="" target="" href="<?php echo $value['href']; ?>"><?php echo $value['title']; ?></a></li>
    <?php } ?>
    
    
    
  • 下面是一个例子:

    <?php
    $arr = array(array('title'=>'i','href'=>'http://localhost/opencart/index.php?route=product/search&tag=i'),array('title'=>'u','href'=>'http://localhost/opencart/index.php?route=product/search&tag=u'),array('title'=>'p','href'=>' http://localhost/opencart/index.php?route=product/search&tag=p'));
    //print_r($arr);
    
    foreach($arr as $key=>$value){ ?>
        <li><a class="" target="" href="<?php echo $value['href']; ?>"><?php echo $value['title'];?></a></li>
    
    <?php } ?>
    
    
    
  • 
    
    什么是
    $tag['tag\u name']
    ?你可以
    echo
    这个,你会发现一些东西

    
    

    什么是
    $tag['tag\u name']
    ?你可以
    echo
    这个,你会发现一些东西将
    $tag['tags\u name']
    更改为
    $tag
    ->
    'title'=>$tag',href'=>$this->url->link('product/search','tag=')。$tag
    ['tags\u name']
    $data
    的数组键,但是因为你有
    foreach($data['tags\u name']作为$tag)
    你已经在
    ['tags\U name']
    键中了。@Sean:当然你是对的。现在开始将
    $tag['tags\U name']
    更改为
    $tag
    ->
    'title'=>$tag',href'=>$this->$url->链接('product/search','tag tag='.$tag
    $data
    的数组键,但由于您已将
    foreach($data['tags\U name']作为$tag)
    设置为
    ['tags\U name']
    键。@Sean:当然可以。现在开始工作