PHP警告:数组列表中的字符串偏移量非法
我在opencart页脚控制器中添加了以下代码: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
$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:当然可以。现在开始工作