注意:数组到字符串转换PHP

时间:2014-02-11 17:10:13

标签: php html arrays

我正在加载一个朋友网站来玩它并且它给了我:注意:数组到字符串转换错误。任何想法如何解决这一问题? (我的朋友不在城里)

function href($filename) {
    if (@$_SERVER['HTTPS'] != 'on') {
        return HTTP_IMAGE . $filename;
    } else {
        return HTTPS_IMAGE . $filename;
    }   
}

错误指向此代码的第3行。

2 个答案:

答案 0 :(得分:2)

您正在return中混合数组和字符串。请尝试以下方法:

  • 指定$filename的索引(如$filename[0]

或:

  • 将其转换为具有例如implode()函数的字符串(如implode(',', $filename);,它为您提供一个字符串,其中包含数组$filename的值,由,隔离

答案 1 :(得分:1)

您正在使用字符串连接运算符,而不是字符串。即,使用数组。

试试这个:

function href($filename) {
var_dump($HTTP_IMAGE);
var_dump($filename);
    if (@$_SERVER['HTTPS'] != 'on') {
        return HTTP_IMAGE . $filename;
    } else {
        return HTTPS_IMAGE . $filename;
    }   
}

运行此代码时,它应显示HTTPS_IMAGE和$ filename中的内容。

由于我不知道它们包含什么,我将使用以下示例代码进行解释:

$my_array[0] = 'Hello';
$my_array[1] = 'world';
$my_array[2] = '!';
var_dump( $my_array );

如果您执行该代码,您将获得以下内容:

array(3) {
  [0]=>
  string(5) "Hello"
  [1]=>
  string(5) "world"
  [2]=>
  string(1) "!"
}

这是一个数组。它是元素的集合,需要通过索引访问。例如,要访问“world”,您需要通过索引“1”访问它:

echo $my_array[1];

回到您的示例,确定哪个变量是数组并通过适当的索引访问它。通过检查var_dump()的结果,您将知道哪个索引。