注意,数组到字符串的转换

时间:2015-06-19 13:17:55

标签: php codeigniter

我的codeigniter脚本中存在问题,我似乎无法弄清问题是什么,任何人都可以提供帮助。

$a =  '<a href="' . $item['href'] . '" class="' . $aClass . '">' . $item['text'] . '</a>';

错误: 严重性:注意

消息:数组到字符串转换

文件名:libraries / Menu.php

行号:193

从您的评论中复制

这就是Var_dump产生的:

Severity: Notice Message: Array to string conversion Filename: libraries/Menu.php Line Number: 193 

这是$ item

的var_dump
array (size=3) 
  'href' => string '/for-sale/' (length=10) 
  'text' => array (size=0) empty 
  'children' => null

4 个答案:

答案 0 :(得分:0)

您的text变量是一个数组,这就是它显示错误的原因。

你可以尝试使用implode(' ', $item['text'])添加它 或更改$item['text']将其变为字符串。

答案 1 :(得分:0)

尝试类似下面的内容,您不会将此数组转换为字符串错误

<?php
        $aClass = 'mylinks';
        $items = array(
                    array(
                        'href'=>'http://test.com',
                        'text'=>'Test',
                    ),
                    array(
                        'href'=>'http://google.com',
                        'text'=>'Google',
                    ),
                  );
        foreach ($items as $item) {
            $a =  '<a href="' . $item['href'] . '" class="' . $aClass . '">' . $item['text'] . '</a>';
            echo $a.'<br/>';
        }
    ?>

答案 2 :(得分:0)

请运行此代码并向我们显示结果以帮助您

echo '$item[\'href\'] is '.(is_array($item['href'])?'array':'string').'<br/>';
echo '$aClass is '.(is_array($aClass)?'array':'string').'<br/>';
echo '$item[\'text\'] is '.(is_array($item['text'])?'array':'string').'<br/>';

答案 3 :(得分:0)

这是你的var_dump

中的相关项目
'text' => array (size=0) empty

'text'出现本身就是一个数组。

因此,请修复创建阵列的方式或使用方法。