2017-01-15 5 views
1

オフセット私はopencartフッターコントローラにこのコードを追加します。PHPの警告:不正な文字列が配列リストに

$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 } ?> 

私は出力を確認してください。print_r($tags);結果です:iまたは:

Array ([0] => Array ([title] => i [href] => http://localhost/opencart/index.php?route=product/search&tag=i) 
[1] => Array ([title] => u [href] => http://localhost/opencart/index.php?route=product/search&tag=u) 
[2] => Array ([title] => p [href] => http://localhost/opencart/index.php?route=product/search&tag=p)) 

は、私が好きなタグの最初の単語だけを参照してください3210または pし、このエラーを参照してください。

Warning: Illegal string offset 'tags_name' in /Applications/XAMPP/xamppfiles/htdocs/opencart/vqmod/vqcache/vq2-system_storage_modification_catalog_controller_common_footer.php

このエラー出力を修正することができますどのように?

+1

'$ tag ['tags_name']'を単に '$ tag' - >' 'title' => $ tag、 'href' => $ this-> urlに変更してくださいあなたが 'foreach($ data ['tags_name'])を持っているので、あなたは' $ data'の配列キーですが、 '' tag ' $ tag) 'あなたはすでに' ['tags_name'] 'キーの中にいます。 – Sean

+0

@Sean:確かに正しいです。 – NewCod3r

答えて

0

あなたの配列がarrays.Tryの多次元配列であるような...ここで

<?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 } ?> 
0
<?php 
$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']) 
     ); 
    } 
?> 

$tag['tag_name']何ですか?あなたはechoこれとあなたが何かを見つけることができます

関連する問題